#include <iostream> #include <memory> #include <vector> using namespace std; class Hoge { public: Hoge() { cout << "Create Hoge!" << endl; } ~Hoge() { cout << "Delete Hoge!" << endl; } }; int main() { // 生ポインタの場合、明示的に delete をしてやる必要がある。 auto rowPtr = new Hoge(); delete rowPtr; // unique_ptr はスコープを抜けたタイミングで自動的にdeleteしてくれる。 unique_ptr<Hoge> smartPtr(new Hoge()); return 0; }