vector 中存放数组

 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);
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值