C++
文章平均质量分 72
小岛阿飞
简约而不简单
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
c++代理类
代理类原创 2022-12-31 21:53:03 · 968 阅读 · 1 评论 -
C++类设计的核查表
设计一个C++类的时候需要一个核查表,提醒怎么设计好一个类。原创 2022-12-27 22:45:46 · 396 阅读 · 0 评论 -
智能指针:shared_ptr和unique_ptr,优先使用unique_ptr
智能指针是比raw 指针更智能的类,解决 dangling指针或多次删除被指向对象,以及资源泄露问题,通常用来确保指针的寿命和其指向对象的寿命一致。智能指针虽然很智能,但容易被误用,智能也是有代价的。通常有两大类型的智能指针:独占式unique_ptr和共享式shared_ptr。这两者的区别和使用场景,更适合使用unique_ptr的场景:1.语义简单,即当你不确定使用的指针是不是被分享所有权...原创 2018-09-02 20:10:04 · 5488 阅读 · 0 评论 -
使用raw指针和make_shared创建shared_ptr对象,优先使用make_shared,unique_ptr也一样
先介绍不能使用make_shared的场景:1.当你需要定制一个删除器,例如采用shared_ptr管理非内存资源或者一个分配在非标准内存区域的对象。这时候不能使用make_shard,它不支持指定删除器;2.当你正在采用其他代码产生的raw指针(指向你需要处理的对象),直接采用raw指针构造share_ptr对象。更适合使用make_shared的原因是:1.用起来更清晰,准确;2.效率比直接...原创 2018-09-02 20:28:55 · 1334 阅读 · 0 评论 -
C++ 异常
C++引进的异常机制给C++带来了深刻的改变,原创 2019-02-27 23:05:52 · 151 阅读 · 0 评论 -
C++异常:使用析构函数防止内存泄露(智能指针的析构函数)
利用智能指针的思想:用一个对象存储需要被自动释放的资源,然后依靠对象的析构函数来释放资源。这种思想不只是可以运用在指针上,还能用在其它资源的分配和释放上。...原创 2019-02-28 22:33:29 · 1440 阅读 · 0 评论 -
C++必须在初始化列表初始化的情况
const成员变量;成员变量是引用;成员对象只有带参数的构造函数;基类只有带参数的构造函数;原创 2019-03-05 21:54:15 · 369 阅读 · 0 评论 -
C++异常:在构造函数防止资源泄露
11原创 2019-03-05 22:28:20 · 242 阅读 · 0 评论 -
C++异常:禁止异常消息传递到析构函数外
两种情况下会调用析构函数:1.正常情况下删除对象,例如对象超出作用域或被显得delete;2.异常传递的堆栈辗转开解(stack-unwinding)过程中,由异常处理系统删除一个对象。在析构函数使用try-catch捕获异常,禁止异常消息传递到析构函数外,两原因:1.能够在异常传递的堆栈辗转开解(stack-unwinding)过程中,防止terminate被调用;2.能帮助确保析构函...原创 2019-03-05 22:52:08 · 267 阅读 · 0 评论
分享