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

关于 vector 的有关问题,期待高手解答

2012-03-02 
关于 vector 的问题,期待高手解答! 定义了一个结构体typedefstructp1{vector p2a//另外定义的p2}p1;后

关于 vector 的问题,期待高手解答!

定义了一个结构体
typedef   struct   p1{
        vector <p2>   a;   //另外定义的p2
}p1;
后再定义一个vector <p1>   v_p1;
vector <p1> ::iterator   it_p   =   v_p1.begin();

请问如何定义一个iterator才能遍历vector <p1>   中的所有的vector <int>   a中的元素?或者有什么其它方法可以遍历呢?

[解决办法]
要想直观一点的使用,可以把vector当成数组来用撒,
  如可以用v_p1[0].a[0]来访问v_p1的第一个p1类型元素的成员a的第一个int型元素.
当然这样访问要小心下标越界的问题,呵呵
[解决办法]
每个v_p1的元素单独遍历
相当于两个for循环
[解决办法]
如果说vector里面只存放了int类型的,你可以通过占用内存的方法来统计。
[解决办法]
也可以这样进行遍历,呵呵
 vector <p1> ::iterator it_p = v_p1.begin();
for( ; it_p != v_p1.end(); ++it_p)
{
vector <int> ::iterator pi = (*it_p).a.begin();
for( ; pi != (*it_p).a.end(); ++pi)
{
...............//你的各项操作
}
}
[解决办法]
p1提供一个遍历内部数组的方法。

热点排行