1. clear () exclui o vetor inteiro
Use vectorname.clear () para excluir todos os elementos no vetor inteiro, mas a memória não será liberada, como o seguinte código:
1 #include <iostream> 2 #include <vector> 3 4 usando o espaço de nomes std; 5 6 int main () 7 { 8 vetor < int > num ( 5 , 111 ); 9 cout << " === use clear () Antes de excluir === " << endl; 10 cout << " O número de elementos em num: " << num.size () << endl; 11 cout << " num O tamanho do contêiner: " << num.capacity ( ) <<endl << endl; 12 13 cout << " === Depois que clear () é usado === " << endl; 14 num.clear (); 15 cout << " O número de elementos em num: " << num.size () < < endl; 16 cout << " num O tamanho do contêiner: " << num.capacity () << endl; 17 18 return 0 ; 19 }
Imprima o resultado:
2. Use erase () para excluir um e vários elementos
Use vectorname.clear () para excluir elementos únicos e múltiplos no contêiner.Ele retorna um iterador, que é o endereço do próximo elemento após a exclusão.
Exclua um único elemento:
1 #include <iostream> 2 #include <vector> 3 4 usando o espaço de nomes std; 5 6 int main () 7 { 8 int test [] = { 111 , 222 , 333 , 444 , 555 , 666 }; 9 vector < int > num (teste, teste + 6 ); 10 cout << " O número de elementos num: " << num.size () << endl; 11 cout << " num O tamanho do contêiner:" << num.capacity () << endl; 12 13 cout << " === percorre o contêiner do início ao fim === " << endl; 14 for ( int i = 0 ; i <num.size (); i ++ ) 15 { 16 cout << num [i] << endl; 17 } 18 vetor < int > :: iterator it = num.erase (num.begin () + 3 ); // exclui o terceiro após o primeiro endereço Elementos e retorna o endereço do próximo elemento 19 20 cout << " num O número de elementos: " << num.size () << endl; 21 cout << " O tamanho do contêiner de num: " << num.capacity () << endl; 22 23 cout << endl << " === Itera sobre o contêiner usando um tipo de iterador === " << endl ; 24 25 para ( int i = 0 ; i <num.size () -3 ; i ++ ) 26 { 27 cout << * it ++ << endl; 28 } 29 30 return 0 ; 31 }
Imprima o resultado:
Exclua vários elementos:
1 #include <iostream> 2 #include <vector> 3 4 usando o espaço de nomes std; 5 6 int main () 7 { 8 int test [] = { 111 , 222 , 333 , 444 , 555 , 666 }; 9 vector < int > num (teste, teste + 6 ); 10 cout << " O número de elementos num: " << num.size () << endl; 11 cout << " num O tamanho do contêiner:" << num.capacity () << endl; 12 13 cout << " === percorre o contêiner do início ao fim === " << endl; 14 for ( int i = 0 ; i <num.size (); i ++ ) 15 { 16 cout << num [i] << endl; 17 } 18 19 vetor < int > :: iterador it = num.erase (num.begin (), num.begin () + 3 ); // Exclua os elementos de 1-3 e retorne o endereço desse último elemento ao número de elementos de 20 cout << " num: " <<num.size () <<endl; 21 cout << " O tamanho do contêiner de num: " << num.capacity () << endl; 22 23 cout << endl << " === Itera sobre o contêiner usando um tipo de iterador === " < < endl; 24 25 para ( int i = 0 ; i <num.size (); i ++ ) 26 { 27 cout << * it ++ << endl; 28 } 29 30 return 0 ; 31 }
Imprima o resultado:
==================================================== ==================================================== ======================