摘要:
类模版std::function是一种通用、多态的函数封装。std::function的实例可以对任何可以调用的目标实体进行存储、复制、和调用操作,这些目标实体包括普通函数、Lambda表达式、函数指针、以及其它函数对象等。std::function对象是对C++中现有的可调用实体的一种类型安全的包 阅读全文
摘要:
这么多年过去,偶然发现这篇文章的阅读量已经接近20万,略感自豪。本想把代码公开了,但是在Gayhub上面发现了更加优秀的项目,分享给大家。https://github.com/ireader/media-server感谢作者老陈,开源了这么好的东西,避免大家重复造轮子了。 以上为2020年更新 写在 阅读全文
摘要:
目录一、提问二、 代码实现2.1 mweak_ptr的具体实现2.2 测试用例一、提问weak_ptr为什么会存在?shared_ptr不是已经有了引用计数吗?具体原因详见模拟实现boost库中的shared_ptr,简单来说就是为了解决循环引用(交叉引用)的问题。weak_ptr是为了配合shar 阅读全文
摘要:
目录一、 引言二、 代码实现 2.1 模拟实现shared_ptr2.2 测试用例三、 潜在问题分析 你可能还需要了解模拟实现C++标准库中的auto_ptr一、 引言与auto_ptr大同小异,shared_ptr也是一个类。可以实现多个指针指向同一个对象(引用计数)。发生拷贝的话都指向相同的内存 阅读全文