STL: el valor de retorno del método vector insert ()

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:

 

 

 

 

 

 

 

================================================== ================================================== ==================

 

Supongo que te gusta

Origin www.cnblogs.com/CooCoChoco/p/12710048.html
Recomendado
Clasificación