[C++]标准库类型容器

本文介绍了C++标准库中的容器类型,特别是关于容器的定义、初始化方式,如默认初始化、拷贝初始化、列表初始化等。同时,详细讨论了迭代器的使用、类型及其失效情况。此外,还概述了标准库容器的分类,强调了顺序容器的特点和选择原则。
摘要由CSDN通过智能技术生成

update:2016/11/16

1.标准库类型vector

vector能够容纳绝大多数类型的对象作为其元素,但是由于引用并不是对象,因此不存在包含引用的vector。除此之外,其他大多数(非引用)内置类型和类类型都可以作为vector的元素,这也包含vector

1.定义和初始化vector

vector作为一个类模板,本身不会指定类型,而必须要为其指定类型。例如:

vector<int> ivec;  //保存int类型的对象
vector<Sales_item> Sales_vec; //保存Sales_item类型的对象
vector<vector<string>> file; //保存vector对象的vector

初始化一个vector对象的常用方法如下:

初始化vector语句 含义解释
vector<T> v1 v1是一个空vector,执行默认初始化
vector<T> v2(v1) v2使用v1的值初始化,包含了v1的所有元素
vector<T> v2=v1 v2v1的拷贝,包含了v1的所有元素
vector<T> v3(n) v3包含了n个元素,执行了值初始化
vector<T> v4(n,val) v4包含了n个重复的元素,每个元素的值都是val
vector<T> v5{a,b,c...} v5的元素按顺序赋予初始值,执行列表初始化
vector<T> v5={a,b,c...} v5使用列表的拷贝进行初始化。

1. 默认初始化

vector默认初始化可以提供一个空的容器,方便之后对其进行任何允许的操作。

vector<int> vector1; 

2. 拷贝初始化

vector执行拷贝初始化可以在初始化时将一个已存在的vector元素的值拷贝给新的vector对象。此时新的vector中的元素就是原vector对象对应元素的副本。

//assume that an int vector {1,2,3,4,5} called vector1 has been defined.
//then the following codes are equivalent to each other.
vector<int> vector2=vector1;
vector<int> vector3(vector1);
vector<int> vector4{vector1};
  • 拷贝初始化时,两个vector对象的类型必须相同。

3. 列表初始化

vector执行列表初始化时,可以用花括号

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值