Иллюстрированный самоучитель по Visual Studio .NET

Контейнеры библиотеки STL. Последовательности типа vector.

#include <vector>
#include <algorithm>
#include <iostream> using namespace std;
//======= Вводим тип для сокращения текста (места)
typedef unsigned int uint;
void main ()
{
//======== Вектор целых
vector<int> v(4);
cout << "\nlnt Vector:\n";
for (uint i=0; i<v.size(); i++)
{
v[i] = rand()%10 + 1;
cout << v[i] << "; ";
}
//======= Сортировка по умолчанию sort (v.begin (), v.end());
cout << "\n\nAfter default sort\n";
for (i=0; i<v.size(); i++) cout << v[i] << "; ";
//======== Удаление элементов
v.erase(v.begin());
cout << "\n\nAfter first element erasure\n";
for (i=0; i<v.size(); i++) cout << v[i] << "; ";
v .erase (v .end ()-2, v.endO);
cout << "\n\nAfter last 2 elements erasure\n";
for (i=0; i<v.size(); i++)
cout << v[i] << "; ";
//======== Изменение размеров
int size = 2; v.resize(size);
cout << "\n\nAfter resize, the new size: " << v.size()
<< endl; for (i=0; i<v.size(); i++)
cout << v[i] << "; ";
v.resize(6,-1);
cout << "\n\nAfter resize, the new size: " << v.size()<< endl;
for (i=0; i<v.size(); i++)
cout << v[i] << "; ";
//======== Статистика.
cout << "\n\nVector's maximum size: " << v.max_size() << "XnVector's capacity: "
<< v.capacity() << endl
//======== Резервирование
v.reserve (100);
cout << "\nAfter reserving storage for 100 elements:\n"
<< "Size: " << v.sizeO << endl:
<< "Maximum size: " << v.max_size() << endl
<< "Capacity: " << v.capacity() << endl;
v.resize(2000);
cout << "\nAfter resizing storage to 2000 elements:\n"
<< "Size: " << v.size() << end1
<< "Maximum size: " << v.max_size() << end1
<< "Capacity: " << v.capacity() << endl; cout << "\n\n";
}

Для того чтобы лучше уяснить смысл и различие методов size, resize, max_size и capacity, мы несколько раз повторяем вызовы этих методов. Если вы читаете книгу вдалеке от компьютера, то вам, возможно, будет интересно узнать, что программа выведет в окно консольного приложения:

Int Vector:
2; 8; 5; 1;
After default sort
1; 2; 5; 8;
After first element erasure
2; 5; 8;
After last 2 elements erasure 2;
After resize, the new size: 2,
Vector capacity: 4 2; 0;
After resize, the new size:
6 2; 0; -1; -1; -1; -1;
Vector's maximum size: 1073741823
Vector's capacity: 6 After reserving storage for 100 elements:
Vector's size: 6
Vector's maximum size: 1073741823
Vector's capacity: 100
After resizing storage to 2000 elements:
Vector's size: 2000
Vector's maximum size: 1073741823
Vector's capacity: 2000
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.