您的位置:首页 > 编程语言 > C语言/C++

C++ Primer(第四版)笔记2 标准库vector类型

2015-03-24 16:20 211 查看
vector类型

vector不是一种数据类型,而是一种模板,可以用来定义多种数据类型,vector类型的每一种都指定了其保存元素的类型,因此vector<int>和vector<string>都是数据类型。

1.vector对象的定义和初始化

几种初始化vector对象的方式:

vector<T> v1; //vector保存类型为T的对象。默认构造函数v1为空。

vector<T> v2(v1); //v2是v1的一个副本。

vector<T> V3(n,i); //v3包含n个值为i的元素。

vector<T> v4(n); //v4含有初始化元素的n个副本。

eg:

vector<int> ivec1;

vector<int> ivec2(ivec1);

vector<int> ivec(10,-1);

vector<string> svec(10,"hi!");

2.vector对象的操作:

v.empty() //如果v为空,则返回true,否则返回false。

v.size() //返回v中元素的个数。

v.push_back(t)//在v的末尾增加一个值为t的元素。

v
//返回v中位置为n的元素。

v1=v2 //把v1的元素替换为v2元素的副本。

v1==v2 //如果v1和v2相等则返回true。

!=,<,<=,>,>= //保持这些元素的惯有含义。

1)vector对象的size:

vector<int>::size_type

2)向vector添加元素:

eg:

string word;

vector<string> text;

while(cin<<word)

{

text.push_back(word);

}

3)vector的下标操作:

eg:

for(vector<int>::size_type ix = 0;ix != ivec.size(); ++ix)

ivec[ix] = 0;

4)下标操作不添加元素

for(vector<int>::size_type ix = 0;ix != 10;++ix)

ivec.push_back(ix);

必须是已存在的元素才能用下标操作符进行索引,通过下标操作进行赋值时,不会添加任何元素。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: