Синтаксис:
#include <vector> void assign( size_type num, const T& val ); void assign( input_iterator start, input_iterator end );
Функция assign() дает текущему вектору либо значения от start до end, либо num копий переменной val.
Эта функция уничтожит первоначальное содержимое вектора.
Например, этот код использует assign(), чтобы положить в вектор 10 копий целого числа 42:
vector<int> v; v.assign( 10, 42 ); for( int i = 0; i < v.size(); i++ ) { cout << v[i] << " "; } cout << endl;
На экран будет выведено:
42 42 42 42 42 42 42 42 42 42
Следующий пример показывает, как assign() может быть использована для копирования одного вектора в другой:
vector<int> v1; for( int i = 0; i < 10; i++ ) { v1.push_back( i ); } vector<int> v2; v2.assign( v1.begin(), v1.end() ); for( int i = 0; i < v2.size(); i++ ) { cout << v2[i] << " "; } cout << endl;
После запуска код выведет:
0 1 2 3 4 5 6 7 8 9
Смотри также: insert, push_back, оператор []