C++ STL vector 不想初始化长度怎么办

…衆ロ難τιáo~ 提交于 2020-01-27 20:20:39

vector方便的地方就在于不用在意长度的限制,但是如果一开始为vector读取输入的时候,我们没有初始化vector大小的话,很容易出现下标越界的情况,然后程序不跑了。。。

有时候未知输入的长度时,vector开小了怕越界,开大了怕浪费

解决方法

使用 vector 的 insert 方法,这样一来vector会自动地增加自己的长度了,防止越界

// 在尾部直接插入元素 x
v.insert(v.end(), x);
#include <iostream>
#include <vector>

using namespace std;

int main()
{
	vector<int> v;
	
	int x;
	for(int i=0; i<4; i++)
	{	
		cin>>x;
		v.insert(v.end(), x);
	}
	
	for(int i=0; i<4; i++)
	{
		cout<<v[i]<<endl;
	}

	return 0;
}

运行结果:
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!