在调用TF lite的JPEG函数接口时,需要定义一个unique_ptr。在使用这个指针的过程中遇到了一些问题。
std::unique_ptr是C++11中增加的特性,用来独占所指向的对象,当unique_ptr被销毁时,它所指的对象也同时被销毁。std::unique_ptr不支持拷贝和复制。
unique_ptr<string> p1(new string ("abc"));
unique_ptr<string> p2(p1);//错误
unique_ptr<string> p3;
p3 = p2;//错误
对unique_ptr的操作可以通过以下方式:
修改器 | |
| 返回一个指向被管理对象的指针,并释放所有权 (公开成员函数) | |
| 替换被管理对象 (公开成员函数) | |
| 交换被管理对象 (公开成员函数) | |
观察器 | |
| 返回指向被管理对象的指针 (公开成员函数) | |
| 返回用于析构被管理对象的删除器 (公开成员函数) | |
| 检查是否有关联的被管理对象 (公开成员函数) | |
std::unique_ptr<uint8_t[]> imgdata;
uint8_t* in = imgdata.get();
本文深入探讨了C++11中std::unique_ptr的使用方法及其特性,包括如何正确地使用unique_ptr来管理动态分配的内存资源,避免内存泄漏,并通过实例解释了unique_ptr的基本操作如release、reset、swap等。
221

被折叠的 条评论
为什么被折叠?



