Qianfeng c ++ _ stl iterator no iterador do contêiner para o contêiner

Os contêineres podem ser contêineres aninhados

Você também pode criar vetor <> em vetor <>, como vetor <vetor>, onde você pode criar um contêiner no contêiner

Iteradores são semelhantes a ponteiros e podem ser classificados

Por exemplo: vector <vector> :: iterator it
vector <int> :: iterator
aponta para os dois iteradores O conteúdo do <> anterior determina o tamanho do objeto indicado.
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui

Código de amostra relacionado

#include <iostream>
#include <algorithm>
#include <vector>
#include <string>

using namespace std;

void print(vector<int> v){
    
    
    vector<int>::iterator it = v.begin();
    for(; it != v.end(); it++)
    {
    
    
        cout << *it << endl;
    }
}

void test(void){
    
    
    vector< vector<int> > v;
    vector<int> v1;
    vector<int> v2;
    vector<int> v3;
    vector<int> v4;

    for(int i=0; i<3; i++){
    
    
        v1.push_back(i);
        v2.push_back(i+1);
        v3.push_back(i+10);
        v4.push_back(i+100);
    }
    
    v.push_back(v1);
    v.push_back(v2);
    v.push_back(v3);
    v.push_back(v4);

    vector< vector<int> >::iterator it_start = v.begin();
    vector< vector<int> >::iterator it_end = v.end();

    for_each(it_start,it_end,print);
}
int main(){
    
    
    test();
    return 0;
}

Acho que você gosta

Origin blog.csdn.net/qq_45788043/article/details/108874920
Recomendado
Clasificación