Earlier quoted context omitted.
shared_ptr a = make_shared (10); What's so hard about managing that? shared_ptr is basically equivalent to Python garbage collection. Shared_ptr were standardized in 2003, and Microsoft implemented CComPtr way back in the 90s for this easy to use reference-counted smart-pointer concept. http://msdn.microsoft.com/en-us/library/aa266806%28v=vs.60%2... So... yeah. Stop doing manual memory management in C++. Something be…
Correction: shared_ptr wasn't in C++98/03. It was originally developed in Boost, then added to TR1 (in 2005), and finally incorporated into C++11. One of the major differences between shared_ptr and CComPtr is that shared_ptr is non-intrusive - it can manage anything, even things like ints that don't know anything about strong/weak refcounts.
Nonetheless, the concepts revolving around CComPtr and all that good stuff can be easily seen in C++98 / STL. STL Strings for instance automatically clean themselves up under the principles of RAII.
Auto_ptr, the first smart pointer, also was standardized in C++98. While crude and primitive by today's standards (especially compared to unique_ptr's explicit RValue semantics), auto_ptr shows me that even in the mid 90s, people understood the principles of RAII.
At least, if you were a learned C++ programmer.