【发布时间】:2009-09-05 06:29:28
【问题描述】:
我一直对 STL 容器(向量、列表、地图...)如何存储值感到有些困惑。他们是存储对我传入的值的引用,还是他们自己复制/复制构造+存储值?
例如,
int i;
vector<int> vec;
vec.push_back(i);
// does &(vec[0]) == &i;
和
class abc;
abc inst;
vector<abc> vec;
vec.push_back(inst);
// does &(vec[0]) == &inst;
谢谢
【问题讨论】:
-
您已经得到了在我看来可以测试答案的工作代码(稍作更改以使评论成为有条件的)。运行它看看!我很确定他们会复制构建和存储。