Advertisement

详细解析unique_ptr智能指针(C++版本)

阅读量:

目录

std::unique_ptr:

unique_ptr拥有独占性所有权特性:

unique_ptr不应采用 delete 或 delete[] 进行资源释放:

unique_ptr应避免过度使用裸指针及 release 方法

unique_ptr与自定义删除器的结合应用


std::unique_ptr特性与应用

std::unique_ptr 是 C++ 标准库中用于管理动态分配资源的一种智能指针类型,主要应用于堆上对象等资源的控制。该指针类型对其所指向的资源具有独占性,即在同一时刻仅允许一个 std::unique_ptr 实例持有该资源的所有权。若需将 std::unique_ptr 的所有权进行转移,可采用以下几种方式:

移动语义(Move Semantics): 利用移动构造函数与移动赋值操作符,可以将一个 std::unique_ptr 的所有权迁移至另一个实例。在这一过程中,原指针将被置为 null 状态,而新的指针则获得相应的所有权。这种方式具有较高的效率,因为它仅涉及指针的重新指向,并不触发资源的复制或销毁操作。

`std::unique_ptr ptr1 = std::make_unique(42); std::unique_ptr ptr2

全部评论 (0)

还没有任何评论哟~