c++ - C++ vector 复制构造函数和赋值运算符是否还会复制保留空间?

标签 c++

复制构造函数称为

vector<int> v0;
v0.reserve(3);
vector<int> v1 = v0;

v1是否还会保留3个空间?

赋值运算符称为
vector<int> v0;
v0.reserve(3);
vector<int> v1;
v1 = v0;

v1是否还会保留3个空间?

最佳答案

在复制后,标准不会告诉您任何有关额外保留的信息。
因此,保留空间是特定于实现的。因此,复制后您不应该依赖保留的空间。

关于c++ - C++ vector 复制构造函数和赋值运算符是否还会复制保留空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60003158/

相关文章:

c++ - QT串口发送一个字节

c++ - 通过模板滥用的函数式 C++

c# - 如何在对象上进行交易

c++ - 在派生类中重载运算符 <<

c++:在构造函数中定义类的问题

c++ - 我如何使用操纵器用填充的左零格式化我的十六进制输出

C++:使用模板时未覆盖函数

c++ - 未在此范围内声明的类成员

c++ - 构造函数成员初始化列表解释

c++ - 进程启动限制