迭代器输出解决方法

迭代器输出
比如说定义一个这样的二维vector

vector<vector<string> >Andl;

vector<string>and_l;


现在输出最外层循环是这样定义的是 
vector<vector<string> >::iterator IBegin = (*It).Andl.begin() +nCount;
 nCount += is_begin->n_andl;
vector<vector<string> >::iterator IEnd = (*it).Andl.begin()+nCount;

???????

列数是4

请问这个内层循环怎么写啊。。

 

------解决方案--------------------
给你写了一段代码,希望有参考意义。
C/C++ code

typedef std::vector<int> VEC_INT;
typedef std::vector<VEC_INT> VEC_VEC_INT;

void Print(const VEC_INT& vec);
void Print(const VEC_VEC_INT& vec);

int _tmain(int argc, _TCHAR* argv[])
{    
    VEC_INT vec_a(5, 1);
    VEC_INT vec_b(5, 2);
    VEC_INT vec_c(5, 3);
    VEC_INT vec_d(5, 4);
    VEC_INT vec_e(5, 5);
    VEC_VEC_INT vec_vecInt;
    vec_vecInt.push_back(vec_a);
    vec_vecInt.push_back(vec_b);
    vec_vecInt.push_back(vec_c);
    vec_vecInt.push_back(vec_d);
    vec_vecInt.push_back(vec_e);
    
    Print(vec_vecInt);
    return 0;
}

void Print(const VEC_INT& vec)
{
    for (VEC_INT::const_iterator iter = vec.begin();
        iter != vec.end(); iter++)
    {
        cout << *iter << "\t";
    }
    cout << endl;
}

void Print(const VEC_VEC_INT& vec)
{
    for (VEC_VEC_INT::const_iterator iter = vec.begin();
        iter != vec.end(); iter++)
    {
        Print(*iter);
    }

------解决方案--------------------
vector<string>::iterator ite_beg= IBegin->begin();
vector<string>::iterator ite_end= IBegin->end();

------解决方案--------------------
typedef vector<vector<string> > VecVecString;
typedef vector<string> VecString;

for (VecVecString::iterator it_1 = Andl.begin(); it_1 != Andl.end(); ++it_1)
{
VecString and1 = *it;
for (VecString::it_2 = and1.begin(); it_2 != and1.end(); ++it_2)
{
//do something
}
}