C++ Memory Management: From Fear to Triumph, Part 1 - This article discusses C++ in the context of several other popular languages. It also describes the kinds of memory errors that can occur in C++ programs. - http://www.linuxdevcenter.com/pub/a/linux/2003/05/08/cpp_mm-1.html
C++ Memory Management: From Fear to Triumph, Part 3 - Presents a list of simple, powerful techniques that can be used to deal with memory in C++ programs. - http://www.linuxdevcenter.com/pub/a/linux/2003/08/07/cpp_mm-3.html
Smart Pointers in Boost - Introduces smart pointers and takes a look at Boosts various smart pointer templates (scoped_ptr, scoped_array, shared_ptr, and shared_array). - http://www.ddj.com/dept/cpp/184401507
"Pure Virtual Function Called": An Explanation - This article provides an extensive an in-depth look at the "pure virtual function called" error message. - http://www.artima.com/cppsource/pure_virtual.html
An Introduction to Garbage Collection, Part II - Show how garbage collection works and what it actually costs. - http://icu.sourceforge.net/docs/papers/cpp_report/an_introduction_to_garbage_collection_part_ii.html
A Generic Non-intrusive Smart Pointer Implementation - This article follows through the implementation of a smart pointer class that overcames deficiencies of existing smart pointer implementations. - http://web.onetel.net.uk/~anthony_w/cplusplus/genericptr.pdf
The Rule of The Big Two - Matthew and Bjorn update the well-known Rule of The Big Three, explaining which one of those member functions is not always needed. - http://www.artima.com/cppsource/bigtwo.html
C++ Memory Management: From Fear to Triumph, Part 2 - This article explains design principles that will help keeping memory management error out of C++ code. - http://www.linuxdevcenter.com/pub/a/linux/2003/06/19/cpp_mm-1.html
C++ Memory and Resource Management - Stephen Dewhurst discusses how the various features of C++ are used together in memory management, how they sometimes interact in surprising ways, and how to simplify their interactions. - http://www.informit.com/articles/article.asp?p=30642
Memory Hygiene in C and C++: Safe Programming with Risky Data - Memory management is scary. It should be: A lot can go wrong--often very wrong. But a moderately experienced C or C++ programmer can learn and understand memory hazards completely. - http://www.informit.com/articles/article.asp?p=169586
Smart Pointers in C++ - Andrei Alexandrescu discusses smart pointers, from their simplest aspects to their most complex ones and from the most obvious errors in implementing them to the subtlest ones--some of which also happen to be the most gruesome. - http://www.informit.com/articles/article.asp?p=31529
Smart Pointers - Andrei Alexandrescu navigates through the sometimes treacherous waters of using smart pointers, which imitate built-in pointers in syntax and semantics but perform a host of additional tasks that built-in pointers can't. - http://www.informit.com/articles/article.asp?p=25264
A Garbage Collection Framework for C++, Part II - This article deals with refactoring the code originally presented in part 1 in order to allow polymorphic types to be used. - http://www.codeproject.com/cpp/garbage_collect2.asp?print=true
A Garbage Collection Framework for C++ - An article on using garbage collection through the use of smart pointers. - http://www.codeproject.com/cpp/garbage_collect.asp?print=true
Effective C++ Memory Allocation - Using several features of the language, this article presents a framework for resource allocation which is temporally deterministic, provides for callback, provides memory pools, and can provide for deadlock prevention. - http://www.embedded.com/1999/9901/9901feat2.htm
Smart Pointers: What, Why, Which? - Explains what smart pointers are, why they should be used, and which one should be used. - http://ootips.org/yonat/4dev/smart-pointers.html
Using auto_ptr Effectively - Explains why auto_ptr neatly solves common C++ design and coding problems, and why using it can lead to more robust code. - http://www.gotw.ca/publications/using_auto_ptr_effectively.htm
Counted Body Techniques - Introduces two key concepts: the use of a generic requirements based approach to simplify and adapt the use of the counted body pattern and the ability to dynamically and non-intrusively add capabilities to fixed types using the runtime mixin pattern. - http://www.boost.org/more/count_bdy.htm
Containers in Memory: How Big Is Big? - Answers the question of how much memory the various standard containers use to store the same number of objects of the same type T. - http://www.gotw.ca/publications/mill14.htm
To New, Perchance to Throw, Part 1 - Explains why a class that provides its own class-specific operator new(), or operator new[](), should also provide corresponding class-specific versions of plain new, in-place new, and nothrow new. - http://www.gotw.ca/publications/mill15.htm
To New, Perchance to Throw, Part 2 - Delves deeper into the question of what operator new() failures mean, and how best to detect and handle them. - http://www.gotw.ca/publications/mill16.htm
Memory Management in C++ - Covers the design of a global memory manager that is as fast and space-efficient as per-class allocators. - http://www.cantrip.org/wave12.html