【发布时间】:2011-12-17 14:17:06
【问题描述】:
假设我有一个动态分配的对象。 如果我将它推入 STL 向量中,会在向量中插入引用还是该对象的副本?
这是一个普遍的问题。例如:
class vec {
vector<obj> vec;
void addToVec(obj a) {
// insert a into vec
}
...
...
...
}
obj* a = new obj;
vec* v = new vec;
vec.addToVec(a);
如果我删除v,对象也会死吗?
【问题讨论】:
-
请显示您正在考虑的代码:-)
-
我说教的一面已经显露出来,我觉得我必须告诉你,你很可能不是指 STL,而是指 C++ 标准库。
-
C++ 标准库在其容器和算法中采用了 STL。因此,从技术上讲,STL 向量与 C++ 库向量相同。
-
伙计,我曾经关心 STL 和 C++ 标准库之间的差异,但后来我加入了 Stack Overflow,我的堆栈开始溢出关于差异的挑剔的 cmets,我突然不再关心共。除非差异与您的问题相关(并且不在此处),否则我不明白它可能有什么关系。