陈柏凉 2022-02-17 05:28 采纳率: 86.7%
浏览 17
已结题

vector定义二维数组赋值顺序不同输出结果不同

    vector<vector<int>>array;    //大容器

    vector<int>v1;                //小容器
    vector<int>v2;
/*
    array.push_back(v1);    
    array.push_back(v2);
*/
    for (int i = 0; i < 10; i++) {
        v1.push_back(i);
        v2.push_back(i+10);
    }

    array.push_back(v1);        
    array.push_back(v2);
    array.push_back(v3);


    for (vector<vector<int>>::iterator it = array.begin(); it != array.end(); it++) {
        for (vector<int>::iterator vbegin = (*it).begin(); vbegin != (*it).end(); vbegin++) {
            cout << *vbegin << "  ";
        }
        cout << endl;
    }

注释掉的是我的第一种写法,但是最后输出的时候没有任何输出,知道先赋值在push_back,请问两者的实现到底有什么差异呢?

  • 写回答

1条回答 默认 最新

  • ty94666 2022-02-17 05:35
    关注

    你小容器里吗都没装东西,直接就添加到大容器,肯定没有输出啊,都是空的

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
编辑
预览

报告相同问题?

问题事件

  • 系统已结题 2月24日
  • 已采纳回答 2月17日
  • 创建了问题 2月17日
手机看
程序员都在用的中文IT技术交流社区

程序员都在用的中文IT技术交流社区

专业的中文 IT 技术社区,与千万技术人共成长

专业的中文 IT 技术社区,与千万技术人共成长

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

关注【CSDN】视频号,行业资讯、技术分享精彩不断,直播好礼送不停!

客服 返回
顶部