矢量是否自动调整大小
Do Vectors resize automatically?
我很
抱歉我问了这样一个初学者问题,但我在网上发现了相互矛盾的信息。我会在大学问,但它要到明年二月。
矢量会自动调整大小吗?或者您是否需要定期检查当前大小并在需要更多空间时调整大小。它看起来会自动为我调整大小,但我不确定这是一个功能还是挥舞魔杖的编译器。
如果你使用 push_back
或 insert
,是的向量会调整自身大小。这是一个演示:
#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
.它不会自动调整矢量大小。
如果需要,您也可以手动调整矢量大小。对于演示,请将以下代码附加到上面的代码中。
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
它认为你得到了答案。
矢量会自动调整大小吗?
是的,他们这样做了,你可以很容易地说服自己:
std::vector<int> squares;
for (int i = 0; i < 100; ++i)
{
squares.push_back(i * i);
std::cout << "size: " << squares.size() << "n";
}
相关文章:
- 检查私有成员变量是否在一定范围内,如果没有调整
- 访问"std::vector"的保留但未调整大小的内存作为原始内存是否安全?
- 调整向量大小并检索值,这是否正确或在任何情况下都可能导致段错误?
- 是否有提供可调整 dpi、可选文本和 CSS 支持的 HTML 到 PDF 渲染器?
- 调整STD ::向量的大小是否可以降低其能力
- “调整大小”是否有降低矢量容量的风险
- 英特尔 IPP 图像大小调整功能是否关心 alpha 值的位置
- WinAPI.检查窗口大小调整是否已完成
- 如何判断 std::vector 是否调整了自身大小,以及如何解释指向向量内值的指针不再有效
- 重载分辨率:调整 const/ref 是否不比用户定义的转换更好?
- 调整ROI是否会改变cv::Mat的整体大小
- 编译器是否调整整数大小
- 调整外部向量的大小是否会复制内部向量
- 在 C# 中是否有用于列表的方法<T>,例如在 C++ 中为矢量<T>调整大小
- 是否可以调整令牌权限提升为管理员权限
- 通过每次调整矢量大小在矢量中插入元素是否需要更多时间
- 是否可以调整输入参数以采用指针而不是引用
- Asio:是否有一个可自动调整大小的缓冲区来接收输入
- std::vector是否适合频繁调整大小
- 可移动元素向量的大小调整是否有效?