• Source
    1. #include <iostream>
    2. #include <memory>
    3. #include <vector>
    4. using namespace std;
    5.  
    6. class Hoge {
    7. public:
    8. Hoge() { cout << "Create Hoge!" << endl; }
    9. ~Hoge() { cout << "Delete Hoge!" << endl; }
    10. };
    11.  
    12. int main() {
    13. // 生ポインタの場合、明示的に delete をしてやる必要がある。
    14. auto rowPtr = new Hoge();
    15. delete rowPtr;
    16.  
    17. // unique_ptr はスコープを抜けたタイミングで自動的にdeleteしてくれる。
    18. unique_ptr<Hoge> smartPtr(new Hoge());
    19.  
    20. return 0;
    21. }