#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;
}
