自动存储持续时间与其他对象交互

时间:2013-07-17 22:32:07

标签: c++ memory-management automatic-storage

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

2 个答案:

答案 0 :(得分:0)

你不能“将那个物体”推到矢量上。你正在将对象的副本推送到向量上(除非你有像引用包装器的向量一样的奥术)。所以一切都很好。

(当然还有其他方法可以通过设计不合理的类来射击自己,这些类不能正确管理其他动态对象的所有权,但这是一个与您的问题无关的一般问题。)

答案 1 :(得分:0)

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