std::unique_ptr


在调用TF lite的JPEG函数接口时,需要定义一个unique_ptr。在使用这个指针的过程中遇到了一些问题。
std::unique_ptr是C++11中增加的特性,用来独占所指向的对象,当unique_ptr被销毁时,它所指的对象也同时被销毁。std::unique_ptr不支持拷贝和复制。

unique_ptr p1(new string ("abc"));
unique_ptr p2(p1);//错误
unique_ptr p3;
p3 = p2;//错误

对unique_ptr的操作可以通过以下方式:
修改器
release
返回一个指向被管理对象的指针,并释放所有权
(公开成员函数)
reset
替换被管理对象
(公开成员函数)
swap
交换被管理对象
(公开成员函数)
观察器
get
返回指向被管理对象的指针
(公开成员函数)
get_deleter
返回用于析构被管理对象的删除器
(公开成员函数)
operator bool
检查是否有关联的被管理对象
(公开成员函数)
std::unique_ptr imgdata;
uint8_t* in = imgdata.get();

你可能感兴趣的:(std::unique_ptr)