c++ unique_ptr的用法是什么

   2024-11-02 6830
核心提示:unique_ptr是一个智能指针类,用于管理动态分配的对象的所有权。与传统的裸指针不同,unique_ptr负责自动释放其所管理的对象,从

unique_ptr是一个智能指针类,用于管理动态分配的对象的所有权。与传统的裸指针不同,unique_ptr负责自动释放其所管理的对象,从而避免内存泄漏。

unique_ptr的用法如下:

创建unique_ptr对象:可以使用std::make_unique函数创建一个unique_ptr对象,并将其指向一个动态分配的对象。
std::unique_ptr<int> ptr = std::make_unique<int>(10);
访问unique_ptr指向的对象:可以使用箭头运算符或*运算符来访问unique_ptr指向的对象。
std::cout << *ptr << std::endl;
移交所有权:unique_ptr不允许拷贝或赋值操作,但可以使用std::move函数来将其所有权移交给另一个unique_ptr对象。
std::unique_ptr<int> ptr2 = std::move(ptr);
手动释放对象:unique_ptr会在其生命周期结束时自动释放所管理的对象,但也可以手动释放对象。
ptr2.reset();
使用lambda表达式自定义删除器:可以使用lambda表达式来自定义删除器,以便在释放对象时执行一些特定的操作。
std::unique_ptr<int, std::function<void(int*)>> ptr3(new int(20), [](int* p){ std::cout << "Deleting: " << *p << std::endl; delete p; });

 
举报打赏
 
更多>同类网点查询
推荐图文
推荐网点查询
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号