Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在一个函数中,如果我有一个向量作为参数传递,并且函数中有一个对象是使用自动存储持续时间创建的,如果该对象被推到向量(参数)上,那么该对象不会被销毁,直到向量是?
你不能将那个对象“推”到一个向量上。您正在将对象的副本推送到向量上(除非您有一些像参考包装向量这样的神秘事物)。所以一切都很好。
(当然还有其他方法可以用设计不良的类来打击自己,这些类不能正确管理更多动态对象的所有权,但这是一个普遍问题,并非特定于您的问题。)
std::vector - 以及所有标准容器 - 存储对象的副本。标准容器中的对象的要求之一是它们是可复制构造的。