The following is the finalized code for a simple C++ smart pointer as demonstrated by my youtube video:     here    Usage:  void main(){       ...      Pointer<ObjectType> pointer(new ObjectType);      ...  }    /*   * Pointer.h   *   *  Created on: Mar 16, 2012   *      Author: ukaku   */    #ifndef POINTER_H_  #define POINTER_H_    #include <iostream>  using namespace  std ;    /**   * Reference represents a counter that will be incremented or decremented as   * the number of references to a pecticular pointer is made;   *   * where data means: a symbol used to point to, or associate to another object   */  class  ReferenceCounter {  private :      int counter ;  public :      ReferenceCounter ( ) {          counter = 0 ;   //initially set to zero      }      void increase ( ) {  ...
I blog to share what I know and have experienced with others.