- 1. Managing local pointers to classes that do not leave scope
- 2. Reference counting of pointers to classes used across functions
- 3. Managing pointers to arrays that do not leave scope
- 4. Reference counting of pointers to arrays used across functions
- 5. Storing any functional objects in a variable
- 7. Passing C++11 lambda functions in a variable
- 8. Containers of pointers with Boost.PointerContainer
- 9. Do it at scope exit with Boost.scope_exit
- 10. Initializing the base class by the member of the derived class with Boost.Utility