C/C++教程

C++智能指针

本文主要是介绍C++智能指针,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

智能指针

https://zh-google-styleguide.readthedocs.io/en/latest/google-cpp-styleguide/magic/

智能指针是一个通过重载 * 和 -> 运算符以表现得如指针一样的类. 

智能指针类型被用来自动化所有权的登记工作, 来确保执行销毁义务到位. 

std::unique_ptr 是 C++11 新推出的一种智能指针类型, 用来表示动态分配出的对象的独一无二的所有权; 当 std::unique_ptr 离开作用域时, 对象就会被销毁. std::unique_ptr 不能被复制, 但可以把它移动(move)给新所有主. 

std::shared_ptr 同样表示动态分配对象的所有权, 但可以被共享, 也可以被复制; 对象的所有权由所有复制者共同拥有, 最后一个复制者被销毁时, 对象也会随着被销毁.

这篇关于C++智能指针的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!