更多C++学习笔记,关注 wx公众号:cpp读书笔记
Item 18: Use std::unique_ptr
for exclusive-ownership resource management
当你需要一个智能指针时,std::unique_ptr
通常是最合适的。可以合理假设,默认情况下,std::unique_ptr
大小等同于原始指针,而且对于大多数操作(包括取消引用),他们执行的指令完全相同。这意味着你甚至可以在内存和时间都比较紧张的情况下使用它。如果原始指针够小够快,那么std::unique_ptr
一样可以。
std::unique_ptr
体现了专有所有权(exclusive ownership)语义。一个non-null std::unique_ptr
始终拥有其指向的内容。移动一个std::unique_ptr
将所有权从源指针转移到目的指针。(源指针被设为null。)拷贝一个std::unique_ptr
是不允许的,因为如果你能拷贝一个std::unique_ptr
,你会得到指向相同内容的两个std::unique_p