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

C++ 与其他对象交互的自动存储持续时间,c++,memory-management,automatic-storage,C++,Memory Management,Automatic Storage,在函数中,如果有一个向量作为参数传递,并且函数中有一个对象是使用自动存储持续时间创建的,那么如果该对象被推到向量(参数)上,该对象在向量被删除之前不会被销毁吗?您不能将该对象“推到向量上”。您正在将对象的副本推送到向量上(除非您有一些神秘的东西,比如参考包装向量)。所以一切都很好 (当然,还有其他一些方法可以用设计糟糕的类来攻击你自己,这些类不能正确地管理进一步的动态对象的所有权,但这是一个一般性的问题,不是你的问题所特有的。)std::vector——以及所有标准容器——存储对象的副本。对标准

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

您不能将该对象“推到向量上”。您正在将对象的副本推送到向量上(除非您有一些神秘的东西,比如参考包装向量)。所以一切都很好

(当然,还有其他一些方法可以用设计糟糕的类来攻击你自己,这些类不能正确地管理进一步的动态对象的所有权,但这是一个一般性的问题,不是你的问题所特有的。)

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