首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

迭代器输出解决方法

2012-03-31 
迭代器输出比如说定义一个这样的二维vectorvectorvectorstring Andlvectorstringand_l现在输出最

迭代器输出
比如说定义一个这样的二维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
}
}

热点排行