0

在一个函数中,如果我有一个向量作为参数传递,并且函数中有一个对象是使用自动存储持续时间创建的,如果该对象被推到向量(参数)上,那么该对象不会被销毁,直到向量是?

4

2 回答 2

0

你不能将那个对象“推”到一个向量上。您正在将对象的副本推送到向量上(除非您有一些像参考包装向量这样的神秘事物)。所以一切都很好。

(当然还有其他方法可以用设计不良的类来打击自己,这些类不能正确管理更多动态对象的所有权,但这是一个普遍问题,并非特定于您的问题。)

于 2013-07-17T22:35:12.370 回答
0

std::vector - 以及所有标准容器 - 存储对象的副本。标准容器中的对象的要求之一是它们是可复制构造的。

于 2013-07-17T22:35:34.900 回答