vector 中存放数组

vector 中存放数组vectorarray(3);//注意和之间的空格

 vector <vector <int>     >   array(3);//注意> 和> 之间的空格。 


       array2可以保存3个向量,向量的长度是可以改变的。array2[i]返回的是第i个向量。同理,array2[i][j]返回的是第i个向量中的第j个元素。 
    


        注意不能这样赋值: 


          array2[1][2]=9; 

        原因就是你没有指定向量的大小。

        用push_back函数可以解决问题:array2[1].push_back(9);但是好象不太爽。就不能用operator[]吗?答案是肯定的。不过要多加几个步骤,如下: 

            for(int   i=0;i <3;i++) 


                  array2[i].resize(3); 

    这样,你就定义了一个3X3的数组了

或者这样使用,存放字符串数组:

    typedef vector<string> strArray; 

    typedef vector<strArray> strArray2; 

    strArray strings1; 
    strings1.push_back(“string1”); 
    strings1.push_back(“string2”); 

    strArray2.push_back(strings1); 

    strArray strings2; 
    strings2.push_back(“string21”); 
    strings2.push_back(“string22”); 

    strArray2.push_back(strings2);
 

今天的文章vector 中存放数组分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/67707.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注