#include <memory>
#include <iostream>
#include <vector>
typedef struct xx {
int len;
std::unique_ptr<char[]> data;
}XX;
//
//std::unique_ptr<char[]> chars(new char[1024]);
typedef std::unique_ptr<XX> P_esdata;
std::vector<P_esdata> vpt; //more thread need add lock
int main()
{
std::unique_ptr<XX> ss = std::unique_ptr<XX>(new XX());
XX * dd= ss.get();
dd->len = 10;
dd->data.reset(new char[1024]);
std::cout << vpt.size();
vpt.push_back(std::move(ss));
P_esdata& data = vpt.front();
std::cout << vpt.size();
dd=data.get();
//std::cout << dd->len;
vpt.erase(vpt.begin());
std::cout << vpt.size();
return 0;
}