• 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. shared_ptr<Hoge> srcPtr(new Hoge());
    14. shared_ptr<Hoge> dstPtr = srcPtr; // コピーできる
    15.  
    16. // srcPtr と dstPtr が領域を指していることがわかる
    17. cout << "srcPtr:" << srcPtr << endl;
    18. cout << "dstPtr:" << dstPtr << endl;
    19.  
    20. return 0;
    21. }
    22.