首页 > 其他 > 详细

vector it->和*it

时间:2016-10-15 13:36:58      阅读:121      评论:0      收藏:0      [点我收藏+]
//每次写代码总是被迭代器的iter->和*iter弄晕,主要是被protobuf弄晕了

#include <vector>

struct test{
    test(){
        memset(this, 0, sizeof(test));
    }
    int a;
    int b;
};

int main()
{
    test a, b;
    a.a = a.b = 0;
    b.a = b.b = 1;

    //std::vector<test> vecT;
    //vecT.push_back(a);
    //vecT.push_back(b);
    //for (std::vector<test>::iterator it = vecT.begin(); it != vecT.end(); ++it)
    //{
    //    int v_a = it->a;//直接访问元素中的成员
    //    int v_b = it->b;

    //    v_a = (*it).a;//(*it)直接就是vector中的保存的元素
    //    v_b = (*it).b;
    //}

    std::vector<test*> vecT;
    vecT.push_back(&a);
    vecT.push_back(&b);
    for (std::vector<test*>::iterator it = vecT.begin(); it != vecT.end(); ++it)
    {
        int v_a = (*it)->a;//必须用(*it)获取到指针,然后访问到a
        int v_b = (*it)->b;
    }
    
    return 0;
}

 

vector it->和*it

原文:http://www.cnblogs.com/zzyoucan/p/5963061.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!