C++11 smart pointers use sample.