文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>标准库vector类型 学习笔记

标准库vector类型 学习笔记

时间:2010-04-02  来源:flyfordream_h

1、vector是同一类型对象的集合。vector不是一种数据类型,而是一个类模板(class template),可以用来定义任意多种数据类型,如vector<int>、vector<string>都是数据类型。   2、vector<Type> 尖括号内Type指定对象的类型。 构造函数类型如下: vector<T> v1 ;     default constructor  v1为空 vector<T> v2(v);   v2 is a copy of v1 vector<T> v3(n,i); v3包含n个值为i的元素 vector<T> v4(n);   v4含有值初始化的元素的n个副本   3、vector值的初始化 vector<T>  T若是 内置 类型,则标准库用0来创建元素初始化式。 T若是 类 类型: 1)含有构造函数的类类型,用该类的默认构造函数创建元素初始化式 2)有自定义构造函数,但没有默认构造函数,在初始化时,在初始化时,     不仅要提供元素个数,还要提供元素初始值。 3)没有定义任何类型的构造函数,标准库任然产生一个带初始值的对象,对象的每一个成员都进行了值初始化。   4、vector对象动态增长 vector对象(以及其他标准库容器对象),有一个重要属性就是可以在运行时高效的添加元素。 虽然可以对给定元素个数的vector预先分配内存,但更有效的方法是先初始化一个空的vector对象,然后再动态的添加元素。   5、vector对象的操作 v.empty()              return  boolean v.size()               函数返回的结果是该类型的元素的个数 v.push_back(t)         在v的末尾添加一个值为t的元素 v[n] v1 = v2                把v1中元素替换为v2中元素的副本 v1 == v2               return  boolean != , < , <= , > , >=   保持操作符原有的含义   注意:size_type 和v.size()各自的用法 size_type 总是和一定的数据类型相关 使用size_type时,必须指出该类型是在哪里定义的 vector<int>::size_type        //ok  vecto::size_type              //error vector<int> ivec  ivec.size() //ok ivec.size()返回的结果是vector<int>::size_type类型   6、vector下标操作 和数组类似的操作方法 用下标访问它们,下标从0开始 //用for循环将vector中元素置零 for (vector<int>::size_type ix = 0 ; ix != ivec.size() ; ++ix)      ivec[ix] = 0; 注意:1)用 != 来检查下标是否越界,而不是用 <      2)for语句的e2,在每次都调用size()成员函数,而不是在进入循环前保存它返回的值 C++程序员习惯使用 != 而不是 < 来编写循环判断条件 由于vector可以动态增长,所以不能在循环前保存size()的返回值   必须是已经存在的元素才能用下标进行索引,通过下标操作进行赋值时,不会添加任何元素。 vector<int> ivec;        // empty vector for (vector<int>::size_type ix = 0 ; ix != 10 ; ++ix)      ivec[ix] = ix;      // error vector没有任何元素      ivec.push_back(ix); //ok 添加新元素到vector中      ivec[10]; // error 下标溢出 !! 切忌  
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载