C++ 中的vector类型

vectoc:标准库:集合或者动态数组,可以把若干对象放在里面。
vector它能把其他对象装进来,也被称为容器。

#include <iostream>
#include <string>
#include <vector>

using namespace std;
int main()
{
	vector <int> vjihe;//表示这个里面保存的是int型数据

	return 0;
}

:类模板,vector之后加一对<>.<>内部放上类型信息。(完整的类类型)
需要说明的是,vector里面的集合不能是引用,因为引用只是一个对象的别名,并不是一个对象。

vector <int *>vjihe;
//vector <int &>vjihe2;

定义和初始化vector对象

(简单初始化)
1、空vector(一般根据需要往里面加)

vector<string> mystr;//创建一个string类型的空的vector对象(容器)
mystr.push_back("abcd");//往容器里添加元素
mystr.push_back("def");

2、元素拷贝初始化方式

#include <iostream>
#include <string>
#include <vector>
#include <string>

using namespace std;
int main()
{
	vector<string> mystr;//创建一个string类型的空的vector对象(容器)
	mystr.push_back("abcd");//往容器里添加元素
	mystr.push_back("def");
	vector<string> mystr1(mystr);//拷贝的初始化方式
	vector<string> mystr2(mystr);

	return 0;
}

3、C++11标准中,用列表初始化方法给值,用{}括起来;

vector<string> mystr = {"aa","bb","cc"};

4、创建指定数量的元素,有元素数量概念的对象,一般会用圆括号

vector<int> ijihe(15,-200);//15个int型元素,初始值-200
vector<string> sjihe(5,"hello");
vector<int> ijihe(15);//15个int型元素,初始值为0
vector<string> sjihe(5);//初始值为""

5、多种初始化方式,()一般表示对象中元素数量的概念,{}一般表示元素内容,但不绝对。

vector<int> i1(10);//表示10个元素,每个元素值都是缺省的0;
vector<int> i2{ 10 };//表示一个元素值是10
vector<string> snor{"hello"};//一个元素,值是hello
vector<string> s22{ 10 };//10个元素,每个元素""。
vector<string> s23{ 10, "hello"};//10个元素,每个元素内容都是"hello"
vector<int> i3(10,1);//10个元素,每个元素值是1
vector<int> i4{10,1};//2个元素值是10和1

最常用的是先创建vectr为空,动态增加/减少。

vector常用方法

1、判断是否为空

vector<int> ivec;
if(ivec.empty())
{
	cout<<"ivec为空"<<endl;
}

2、向vector末尾增加一个元素

vector<int> ivec;
ivec.push_back(1);

3、返回元素个数

vector<int> ivec;
cout<<ivec.size()<<endl;

4、移除所有元素,将容器清空

ivec.clear();

注意:
在for语句中(遍历一个容器等等类似操作中),千万不要改动vector容器的容量,增加/删除都不可以。

#include <iostream>
#include <string>
#include <vector>
#include <string>

using namespace std;
int main()
{
	vector<int> value{1,2,3,4};
	
	for (auto &temp : value)
	{
		cout << temp << " ";
	}
	cout << endl;
	for (auto temp : value)
	{
		value.push_back(88);
		cout << temp << " ";
	}
	cout << endl;

	return 0;
}

结果

1 2 3 4
1 -572662307 -572662307 -572662307
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值