gpt4 book ai didi

c++ - vector 会自动调整大小吗?

转载 作者:可可西里 更新时间:2023-11-01 18:15:53 27 4
gpt4 key购买 nike

非常抱歉,我问了这样一个初学者问题,但我在网上发现了相互矛盾的信息。我会在大学问,但要等到明年 2 月。

vector 会自动调整大小吗?或者您是否需要定期检查当前大小并在需要更多空间时调整大小。它看起来会自动为我调整大小,但我不确定这是一个功能还是编译器挥舞着魔杖。

最佳答案

如果您使用 push_backinsert,是的, vector 会自行调整大小。这是一个演示:

#include<iostream>
#include<vector>

using namespace std;

int main() {
vector < int > a;
a.push_back(1);
a.push_back(2);
a.push_back(3);
for (int value : a) {
cout << value << " ";
}
cout << endl << "Current size " << a.size() << endl;
return 0;
}

输出为:

1 2 3
Current size 3

现在请记住,如果您执行 a[3] = 5。它不会自动调整 vector 的大小。
如果需要,您也可以手动调整 vector 大小。对于演示,将以下代码附加到上面的代码。

a.resize(6);
for (int value : a) {
cout << a << " ";
}
cout << endl << "Current size " << a.size() << endl;

现在它会输出:

1 2 3
Current size 3
1 2 3 0 0 0
Current size 6

它认为你得到了答案。

关于c++ - vector 会自动调整大小吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27163737/

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