gpt4 book ai didi

c++ - 将值插入 vector 时没有任何反应

转载 作者:行者123 更新时间:2023-11-27 23:43:39 25 4
gpt4 key购买 nike

我正在尝试将值推送到 vector 。但它似乎充满了 0。

#include <iostream> 
#include <vector>
using namespace std;

int main()
{
vector<int> a;
int size = 5;
int b;
bool g = false; // In different cases I initialise of not
if (!g) a.resize(size); // initialise vector with such code

for (int i = 0; i < size; i++)
{

if (!a.empty())
{
cout << "Type number ";
cin >> b;
a.push_back(b);
cout << "a[" << i << "] = " << a[i] << ", i = " << i << ", b = " << b << endl;
}
}
system("pause");
}

控制台代码

Type number 0
a[0] = 0, i = 0, b = 0
Type number 1
a[1] = 0, i = 1, b = 1
Type number 2
a[2] = 0, i = 2, b = 2
Type number 3
a[3] = 0, i = 3, b = 3
Type number 4
a[4] = 0, i = 4, b = 4

这是怎么回事?我认为有错误,但我无法理解

最佳答案

如果您设置 vector 的大小,那么它将具有该大小。推回另一个元素添加到 vector ,增加 vector 大小。它不会更改现有元素。

看来你想要reserve相反,它设置容量(并保留内存)但不设置大小。

关于c++ - 将值插入 vector 时没有任何反应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52504484/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com