今天看啥  ›  专栏  ›  AI让生活更美好

C/C++教程|17、C++智能指针

AI让生活更美好  · 公众号  ·  · 2024-05-24 08:37
    

文章预览

C++11引入了智能指针(smart pointer),极大地简化了内存管理,减少了内存泄漏的风险。智能指针主要包括 std::unique_ptr、std::shared_ptr和std::weak_ptr。 点击上方“ 蓝色字体 ”关注我,选择“ 设为星标 ”! 回复“ AI ”领取超多经典计算机书籍 一、std::shared_ptr智能指针 shared_ptr 实现对动态分配对象的引用计数管理。它允许多个指针共享对同一个对象的所有权,这意味着当最后一个指向该对象的shared_ptr被销毁时,对象本身也会被销毁,从而有效地防止内存泄漏。 1、初始化方法 std::shared_ptr有多种初始化方法: ①使用 new 直接初始化: std :: shared_ptr < int > ptr( new int ( 10 )); ②使用 std ::make_shared(推荐): std :: shared_ptr < int > ptr = std ::make_shared < int >( 20 ); ③复制初始化: std :: shared_ptr < int > ptr1 = std ::make_shared < int >( 30 ); std :: shared_ptr < int > ptr2 = ptr1; // 共 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览