Chinaunix首页 | 论坛 | 博客
  • 博客访问: 6018
  • 博文数量: 3
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 37
  • 用 户 组: 普通用户
  • 注册时间: 2013-04-19 14:34
文章分类

全部博文(3)

文章存档

2013年(3)

我的朋友

分类: C/C++

2013-06-06 15:04:02

在学习编程的过程中,我觉得不止要获得课本的知识,更多的是解决问题的方法,面对新问题该怎么解决,这样我们才能走在最前方,我是的学员,感谢你对本博客的支持;
  vector是同一种类型的对 象的集合,每个对象都有一个对应的整数索引值。和string对象一样,标准库负责管理存储元素的相关内存。我们把vector称为容器,是因为它可以包 含其他对象。一个容器中的所有对象都必须是同一种类型的。

  vector 是一个类模板,模板允许程序员编写单个类或函数定义,这个类和函数定义可用于不同的数据类型上。因此,我们可以定义保存string对象的 vector,或保存int值的vector,又或是保存自定义的类类型对象的vector。

  vector对象的定义和初始化

  1. 创建确定个数的元素

  若要创建非空的vector对象,必须给出初始化元素的值。当把一个vector对象复制到另一个vector对象时,新复制的vector中每一个元素都初始化为原vector中相应元素的副本。但这两个vector对象必须保存同一种元素类型:

  vector ivec1;

  vector ivec2(ivec1);

  vector svec(ivec1);

  可以用元素个数和元素值对vector对象进行初始化。构造函数用元素个数来决定vector对象保存元素的个数,元素值指定每个元素的初始值:

  vector ivec4(10, -1);

  vector svec(10, "hi!");

  vector对象(以及其他标准库容器对象)的重要属性就在于可以在运行时高效地添加元素。因为vector增长的效率高,在元素值已知的情况下,最好是动态地添加元素。

  2. 值初始化

  如果没有给出元素的初始化式,那么标准库将提供一个值初始化的(value initialized)元素初始化式。这个由库生成的初始值用于初始化容器中的每个元素。而元素初始化式的值取决于存储在vector中元素的数据类型。

  如果vector保存内置类型(如int类型)的元素,那么标准库将用0值创建元素初始化值:

  vector fvec(10);

  如果向量保存类类型(如string)的元素,标准库将用该类型的默认构造函数创建元素初始值:

  vector svec(10);

  元素类型可能是没有定义任何构造函数的类类型。这种情况下,标准库仍产生一个带初始值的对象,这个对象的每个成员进行了值初始化。
知识就是力量,别人学用知识来赚钱的成本低,在达内学习到编程是铸造梦想的地方,如果你喜欢编程,这里,有我们共同语言,共同的故事,共同的梦想!
(责任编辑:广州达内培训)
阅读(2080) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~