Syntaxe:
#include <vector> void assign( size_type num, const value_type& val ); template< typename InputIterator > void assign( InputIterator first, InputIterator last );
La fonction assign() affecte au vecteur courant soit les valeurs de first
à last
, soit num
copies de val
.
Cette fonction détruit le contenu existant du vecteur.
num
- le nombre d'éléments à créer.
value
- valeur à utiliser pour l'initialisation.
first
, last
- intervalle de copie des éléments.
(aucune)
L'extrait de code suivant utilise assign() pour copier 10 fois l'entier 42 dans un vecteur.
vector<int> v; v.assign( 10, 42 ); for( vector<int>::size_type i = 0; i < v.size(); i++ ) { cout << v[i] << " "; } cout << endl;
L'affichage en sortie du code ci-dessus:
42 42 42 42 42 42 42 42 42 42
L'exemple suivant illustre comment assign() peut être utilisée pour copier un vecteur dans un autre:
vector<int> v1; for( int i = 0; i < 10; i++ ) { v1.push_back( i ); } vector<int> v2; v2.assign( v1.begin(), v1.end() ); for( vector<int>::size_type i = 0; i < v2.size(); i++ ) { cout << v2[i] << " "; } cout << endl;
L'affichage en sortie:
0 1 2 3 4 5 6 7 8 9
Linéaire.