
2 May
2011
2 May
'11
12:16 p.m.
Kevin Frey wrote:
Hello,
I wish to clarify a point on the thread-safety of shared_ptr. [...]
//--- Example 4 --- // thread A p3 = p2; // reads p2, writes p3
// thread B // p2 goes out of scope: undefined, the destructor is considered a "write access"
This example just says that you can't make a copy of a destroyed shared_ptr, or one that is in the process of being destroyed. In principle, it has nothing to do with reference counts. Doing something with a destroyed object of any type is undefined behavior in C++.