weak_ptr 可以用来干嘛
智能指针中,除了大家喜闻乐见的shared_ptr,还有一个奇葩的weak_ptr。我读到这里时,就想,这货有什么用呢,获得对象又不增加引用计数?老老实实用着shared_ptr不是挺好的?标准库里何必要搞出这样的一个东西来?
毫无疑问我错了。weak_ptr有着极为重要的作用……
原子函数
»
- 1984 年,史托曼开始 GNU 项目,这个项目的目的是创建一个自由、开放的 UNIX 操作系统(Free UNIX)。但是创建一个操作系统谈何容易?而且在当时的 GNU 是仅有史托曼一个人单打独斗的,这是实在是太麻烦,但又不想放弃这个项目,那可怎么办呢?
- 聪明的史托曼干脆反其道而行之:“既然操作系统太复杂,我就先写可以在 UNIX 上面运行的小程序,这总可以了吧。”
——《鸟哥的 Linux 私房菜 基础学习篇》 P31
const_cast 与 代码重复
«C++ Primer ed5» 中提到一种技术(P209),通过使用 const_cast 重载函数以减少代码重复的情况:
若已有函数:
const string& shorterString(const string &s1, const string &s2){
return s1.size() <= s2.size() ? s1 : s2;
}