autop.cc    :  C++03: a smart pointer moving object ownership
uniquep.cc  :  C++11: a non-copyable smart pointer
sharedp.cc  :  C++11: a copyable smart pointer with shared property

to compile:

c++ -Wall -std=c++03 -o autop autop.cc
c++ -Wall -std=c++11 -o uniquep uniquep.cc
c++ -Wall -std=c++11 -o sharedp sharedp.cc
