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.
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;
}