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

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[n] //返回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);

必须是已存在的元素才能用下标操作符进行索引,通过下标操作进行赋值时,不会添加任何元素。







































评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值