vector 类型

Introduction

  • vector 是标准库中的一个类型,代表的是一个容器、集合或者动态数组的一个概念。可以把若干个对象放到容器中,但这些对象的类型必须相同。简单的说,可以把一堆int型数字放到 vector 容器中,复杂点说,可以把一堆相同类型的类对象放到 vector 中去。
  • 要使用这种类型需要包含 vector 头文件#include<vector>。当然为方便引用这种类型,也要书写:using namespace std;

举例说明:vector< int >myvec;
此为定义了一个 vector类型的对象,对象的名字为 myvec,这个对象里保存的是int型数据。(其实vector是一个类模板,这里的 <>实际上是类模板的一个实例化过程)


一般来讲,vector容器中可以装很多种不同类型的数据作为其元素(容器中装的内容简称“元素”)

但vector中不能用来装引用
vector<int &>myvec; //语法错误

vector 初始化

  1. 增加数据 push_back()
    vector<string>mystr;
    mystr.push_back("victor");
    push_back() 是往容器末尾增加数据(最后插入的元素在vector容器的最末尾)。
  2. vector对象复制
    vector<string>mystr2(mystr);
    vector<string>mystr2 = mystr; //把mystr元素复制给了mystr2 和mystr3
  3. 多种初始化
    vector<string>mys1 = {"h","e","l","l","o"};
    创建时可以指定数量
    vector<string>mys2(7,"hello") // 创建了7个hello

“( )”一般表示对象中元素数量的概念,“{ }”一般表示对象中元素内容的概念。但当类型不一致时(往往是“{ }”内的数值表示元素的数量)
vector<int>myint(7) //单个数字7表示元素数量,每个元素值默认为0
vector<int>myint2{7} //单个数字7,表示一个元素
vector<string>mys{12} //12个元素,每个元素为"" ,因为12不能作为string对象的内容(类型不一致),所以被系统处理成元素的数量了,但不提倡此种写法
vector<int>myint3{"hello"} //直接报错

vector对象上的操作

  1. 判断是否为空 empty(),返回布尔值。
  2. 计算元素个数 size()。
  3. 将容器清空 clear()。
  4. myvec[n]:返回 myvec 中第n个字符,位置从0开始计算,n必须小于.size()。
  5. 赋值运算符 “ = ”
    vec2 = vec //用vec中的内容取代了vec2中原有的内容
  6. 相等不相等 “ == ”和 “ != ”
    两个vector对象相等:元素数量相等,且对应位置元素值也相等。否则就不相等。
  7. for 的应用
    vector<int>myint{1,2,3,4};
    for(auto& veci:myint) //引用达到了改变元素值得目的
    veci *= 2; //元素值扩大一倍

在for语句中,不要改变vector的容量,增加,删除元素都不可以。
vector<int>myint{1,2,3,4};
for(auto veci:myint)
{
veci.push_back(7); //导致输出彻底混乱
cout<<veci<<endl;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值