0
假設我有指着class A
兩個不同的對象在兩個boost::shared_ptr
的:共享升壓的所有權::施工後的shared_ptr
boost::shared_ptr<A> x = boost::make_shared<A>();
boost::shared_ptr<A> y = boost::make_shared<A>();
在某個時候,我需要x
放棄它擁有的對象的所有權和與y
共享y
的對象所有權。這是如何實現的(注意這兩個shared_ptr都是在那個時候構建的,所以沒有機會使用複製構造函數)?
謝謝!
根據該文件,賦值運算符互換(即不共享)的所有權,對吧? –
@HaithamGad它共享RHS指針的所有權,所以'x'放棄它所構建的指針的所有權,並共享由'y'管理的指針的所有權。 – juanchopanza
聽起來不錯,謝謝! –