2
我試了一下在this問題描述類似的東西:替代std :: atomic_store(shared_ptr)爲GCC <= 4.9?
// create copy
auto new_data(std::make_shared<some_class>(*this->data));
... // modify *new_data
// apply new data
std::atomic_store(&this->data, new_data);
..後來我意識到,在其它機器上安裝它不會工作(比如在同一個問題所描述的)GCC 4.8。
是否有解決方法 - 像(暫時)從std::shared_ptr
派生提供所需的接口或只使用另一個原子操作?
還是我有提供外部互斥鎖來保護讀訪問時,我店在全球指針的新對象?