smart_pointer.cc added.