智能指针

💡 原文英文,约200词,阅读约需1分钟。
📝

内容提要

智能指针是C++11引入的,定义在<memory>中,包括unique_ptr、shared_ptr和weak_ptr。unique_ptr拥有原始指针,不允许复制,但支持std::move转移所有权;shared_ptr实现引用计数,可以复制,只有在所有shared_ptr被销毁后,引用的对象才会被销毁;weak_ptr是shared_ptr的副本,不影响shared_ptr,所有shared_ptr销毁后,weak_ptr变为空。

🎯

关键要点

  • 智能指针是C++11引入的,定义在<memory>中。
  • unique_ptr是一个拥有原始指针的容器,不允许复制,但支持std::move转移所有权。
  • shared_ptr实现引用计数,可以复制,只有在所有shared_ptr被销毁后,引用的对象才会被销毁。
  • weak_ptr是shared_ptr的副本,不影响shared_ptr,所有shared_ptr销毁后,weak_ptr变为空。
➡️

继续阅读