【发布时间】:2015-11-09 10:24:28
【问题描述】:
请不要在未完整阅读之前将其标记为重复。这不是一个“std::reserve 做什么”的问题。
使用内置类型写入 vector::reserve 的地址会出错吗?
vector<int> vec;
vec.reserve(10);
vec[5] = 24; // Is this an error?
我知道对象没有被初始化,但由于它们只是 整数 并且空间是通过保留分配的,并且这是在 连续存储 中完成的,这是一个错误吗?全部?
【问题讨论】:
-
这实际上是“
std::reserve做了什么”。如果你明白这一点,你就不会问这个问题了。 -
@juanchopanza 我不在乎反对票。特别是因为那里的答案被赞成和错误 - 这意味着人们没有明确这个概念,因此这是一个完全有效的问题。我找不到能准确回答我的问题的副本。
-
IMO 这是一个完全合理的问题。我相信投反对票的人并没有真正理解它。
-
@sbabbi 是合法的,之前有人问过。包括之前的 OP。