C++最佳编程实践

本文介绍了C++编程中的智能指针,强调了它们在管理动态内存中的重要性,提到了`explicit`关键字的使用,以及如何避免内存泄露和野指针问题。通过学习,你可以理解`shared_ptr`的起源及其在C++11标准中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里写图片描述

书籍推荐:

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

这里写图片描述

  • 蓝色部分
  • 只需要一个实参即可,因为有一个默认设定
  • 没有关键字explicit

这里写图片描述

这里写图片描述

  • exlicit这个关键字用的很少
  • 一般用在构造函数的前面

这里写图片描述

  • 上图中的reference使用的是设计模式中的代理方式

智能指针

这里写图片描述

  • 智能指针听课的时候没怎么明白

C++智能指针简单剖析

  • 没有智能指针,必须保证new对象能在正确的时机delete,智能指针能够保证自动释放内存对象

上面课程举例的shared_ptr,源自boost库,后被收录到C++11标准的TR1库中

C++中的动态内存与智能指针(伯乐在线)

上述的这篇博文
内存泄露
野指针
引用计数型的智能指针


#include<memory>
#include<iostream>

using namespace std;

int main(){

        shared_ptr<int> spi(new int(1024));
        cout<<"spi:"<<*spi<<'\n';

        return 0;
}

这里写图片描述

cout<<"spi:"<<spi<<'\n';

这里写图片描述

用法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值