El método insert () bajo el contenedor vectorial tiene un valor de retorno. Debido a que el método insert () tiene cuatro funciones sobrecargadas, su valor de retorno es diferente.
Primero, el valor de retorno después de insertar un solo elemento:
1 #include <iostream> 2 #include <vector> 3 4 usando el espacio de nombres std; 5 6 int main () 7 { 8 int test [] = { 111 , 222 , 333 , 444 }; 9 vector < int > num (test , test + 4 ); 10 11 vector < int > :: iterator it = num.insert (num.begin (), 888 ); // Use un iterador , escríbalo para aceptar el valor de retorno de insert () 12 13 cout <<" === utilice un tipo de iterador para atravesar el contenedor === " << endl; 14 15 for ( int i = 0 ; i <num.size (); i ++ ) 16 { 17 cout << * it ++ << endl; 18 } 19 20 return 0 ; 21 }
Imprime el resultado:
En segundo lugar, el valor de retorno después de insertar múltiples elementos:
Aquí se puede encontrar que el valor de retorno de insert () es la dirección insertada
1 #include <iostream> 2 #include <vector> 3 4 usando el espacio de nombres std; 5 6 int main () 7 { 8 int test [] = { 111 , 222 , 333 , 444 }; 9 vector < int > num (test , test + 4 ); 10 11 vector < int > :: iterator it = num.insert (num.begin () + 3 , 888 ); // Use un iterador tipee para aceptar el valor de retorno de insert () 12 13 cout << " === Recorre todo el num === " << endl; 14 15 para ( int i = 0 ; i <num.size (); i ++ ) 16 { 17 cout << num [i] << endl; 18 } 19 20 cout << endl << " === use un tipo de iterador para atravesar el contenedor === " << endl; 21 22 for ( int i = 0 ; i <num.size () - 3 ; i ++ ) 23 { 24 cout <<* it ++ <<endl 25 } 26 27 devuelve 0 ; 28 }
Imprime el resultado:
Como la posición de inserción es begin () +3, la dirección del valor de retorno también es begin () +3.
Tercero, use el iterador de otros contenedores para insertar el valor de retorno de múltiples elementos:
1 #include <iostream> 2 #include <vector> 3 4 usando el espacio de nombres estándar; 5 6 int main () 7 { 8 int test [] = { 111 , 222 , 333 , 444 }; 9 vector < int > num (prueba, prueba + 4 ); 10 vector < int > num_1 (prueba + 2 , prueba + 4 ); 11 12 vector < int> :: iterator it = num.insert (num.begin (), num_1.begin (), num_1.end ()); // Use un iterador , escríbalo para aceptar el valor de retorno de insert () 13 14 cout < < " === use un tipo de iterador para atravesar el contenedor === " << endl; 15 16 for ( int i = 0 ; i <num.size (); i ++ ) 17 { 18 cout << * it ++ < < endl; 19 } 20 21 devuelve 0 ; 22 }
Imprime el resultado:
================================================== ================================================== ==================