#include "iostream"
#include <memory>
#include <algorithm>
#include <string>
#include <vector>
using namespace std;
class ClassFactory
{
};
class MyClass
{
private:
unique_ptr<ClassFactory> factory;
public:
MyClass() : factory (make_unique<ClassFactory>())
{
}
void MakeClass()
{
}
};
int main()
{
unique_ptr<int> pInt(new int(6));
cout << *pInt <<endl;
auto pInt4 = move(pInt);
cout << *pInt4 <<endl;
unique_ptr<int> pInt5 (move(pInt4));
cout << *pInt5 <<endl;
auto deleter = [](int* p){
cout <<"del "<< *p <<endl;
};
unique_ptr<int, decltype(deleter)> pInt6(new int(6), deleter);
pInt6.reset();
unique_ptr<int[]> p(new int[5]{1,2,3,4,5});
cout <<p[0] <<endl;
p[0]=0;
cout <<p[0] <<endl;
getchar();
return 0;
}