【发布时间】:2012-09-12 11:51:29
【问题描述】:
如果我这样声明一个向量:
int main() {
vector<string> names;
int something_else_on_the_stack = 0;
names.add("John");
names.add("Annie");
}
您实际上如何能够将元素“添加”到名称向量中?如果名称是堆栈分配的,“something_else_on_the_stack”不应该在堆栈上紧随其后吗?那么如何给已经分配好的向量加名字呢?
【问题讨论】:
-
如果我错了,请原谅我,但 std::vector 数据不是总是堆分配的吗?
-
@AndreasHenning 向量是堆栈分配的,它的数据通常是动态分配的,但是 C++ 标准没有说明堆栈或堆。
标签: c++ memory memory-management callstack