vector 容器类 (C++)

1、声明:
                                      #include<vector>
                                      using std::vector;
2、创建与初始化
                 vector 一个容器,像一个栈一样。
                                  vector<int> a;                      定义
                           vector<string> b;
                                  vector<int> c(10);                                                               创建一个包含10个元素的容器c,默认下有初始类型的初始化的十个值都为0
                                       vector<string> d(10);                                                          创建一个d,10个空字符串,当自己定义的类,用构造函数去初始化
                                       vector<int> c(10,1);                                                            创建一个包含十个元素都为1的容器c
                                      vector<string> d(10,"abcdefg");                                        创建一个包含十个元素都为string“abcdefg”的容器d
3、操作
                                  vector<T> v;                                                                        
                                  v.empty()                                                                                                 v 空返回true,不空返回false
                                  v.size()                                                                                 v元素个数                                                   
                                  v.push_back(t)                                                                     v的末尾加上一个t的元素
                                  v[n]                                                                                      返回v中位置为n的元素

                 不能通过下标的赋值来添加元素,下标只能访问和修改元素,如将容器元素全部赋值为0
                                  for(vector<int>::size_type ix=0; ix !=v.size(); ix++)
                                                         v[ix]=0;                                                                    //前提已经建好一个size元素个的容器,size=0也可以
                正确的添加循环:
                                  for(vector<int>::size_type ix=0; ix!=v.size();ix++)
                                                        v.push_back(0);
                    这里有两个编程习惯的问题,C++程序员优先用!=而不是用<编写循环条件,调用size成员函数而不是在循环钱保存它的值然后循环条件中调                                                      , 因为循环中可能会修改到size的值,具体可以参见C++primer P82.                                                          
4、迭代器
                迭代器用来顺序访问的,比下标访问要更常用。
                迭代器用来遍历容器内的元素,并访问他的值。迭代器可以自增,用*解引用可以访问指向的值。
                                 vector<int>::iterator iter;
                                 v.begin()                                                                    容器的第一个元素的迭代器返回值
                                 v.end()                                                                        容器的最后一个元素的下一个的迭代器返回值,是指向一个不存在的元素的
                利用迭代器将一个容器v的所有元素置为0
                                 for(vector<int>::interator iter=v.begin(); iter!=v.end(); ++iter)
                                                  *iter=0;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值