3
根據助推:鎖的執行情況()
要訪問該對象,的weak_ptr可以被轉換爲使用shared_ptr的構造或成員函數鎖定一個shared_ptr。
再次,從升壓:
shared_ptr<T> lock() const;
//Returns: expired()? shared_ptr<T>(): shared_ptr<T>(*this).
據我明白,返回shared_ptr<T>(*this)
裝置創建具有的1引用計數一個新的shared_ptr;這絕對不是我們想要的。所以可能我不明白它是正確的。有人會解釋嗎?謝謝!
但是,「返回:」行中顯示的代碼不是線程安全的。我猜這就是現在*實際*實現(我的標準筆記副本,「原子執行」)。 –
這意味着'模板明確的shared_ptr(weak_ptr的常量& r);'被稱爲? –
Sanich
是的,在技術上原來的shared_ptr實例通過weak_ptr的訪問,但仍是(更新答案提及)。 – axalis