#include <iostream> #include <memory> #include <vector> using namespace std; class Hoge { public: Hoge() { cout << "Create Hoge!" << endl; } ~Hoge() { cout << "Delete Hoge!" << endl; } }; int main() { shared_ptr<Hoge> srcPtr(new Hoge()); shared_ptr<Hoge> dstPtr = srcPtr; // コピーできる // srcPtr と dstPtr が領域を指していることがわかる cout << "srcPtr:" << srcPtr << endl; cout << "dstPtr:" << dstPtr << endl; return 0; }