C++ std::vector

标准库类型vector表示可变长度对象集合,其中所有的对象的类型都相同。vector常常被称为容器(container)。使用vector时,需要引入对应的头文件。vector本质上是一个类模板。

#include <vector>		// 包含对应的头文件
using std::vector

1. vector的定义和初始化

vector<T> v1;				// v1 是一个空vector,它潜在的元素是T类型,执行默认初始化
vector<T> V2(V1);			// v2 中包含所有v1元素的副本
vector<T> v2 = v1;			// 等价于V2(V1), V2中包含所有V1元素的副本
vector<T> v3(n, val);		// v3中包含n个重复值的函数,每个元素的值都是val
vector<T> v4(n);			// v4包含了n个重复的执行初始化的元素
vector<T> v5{a,b,c...}		// v5包含了初值个数的元素,每个元素都被赋予了对应的初始值
vector<T> v5 = {a,b,c..}	// 等价于V5{a,b, c...

2. vector的相关操作

v.empty()			// 如果v不含任何元素,返回真;否则返回假
v.size() 			// 返回v中元素的个数
v.push_back(t)		// 向v的尾端添加一个值为t的元素
v[n]				// 返回v中第n个元素的引用
v1 = v2 			// 用v2中元素的拷贝替换v1中的元素
v1 = {a,b,c...}		// 用列表中的元素拷贝替换成v1中的元素
v1 == v2 			// v1和v2相等(当且仅当他们的元素数量相同并且对应位置的元素值都相同)
v1 != v2
<, <=, >, >=		// 以字典顺序进行比较
  • 使用范围for语句遍历vector
vector<int> v{1,2,3,4,5,6,7,8,9};
for (auto &i : v) {		// 遍历v中的每个元素,注意i是引用
    i *= i; 			// 对每个元素求平方
}
for	(auto i : v) {		// 将v中的每个元素循环拷贝到i中
    std::cout << i <<std::endl;		//输出该元素
}
  • vector<T>::size_type

与string相似,vector<T>::size_type 是由vector定义的size_type类型,用于函数v.size()的返回值类型。

vector<int> v1{1,2,3};
vector<char> v2{'a','b'};

vector<int>::size_type l1 = v1.size();		// 返回v1中元素的个数,注意返回值的类型
vector<char>::size_type l2 = v2.size();		// 返回v2中元素的个数,注意返回值的类型

注意:string和vector可以用下标进行访问元素,但不能添加元素。(只能对已知的元素进行操作)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值