
从一次 double free 深入理解 shared_ptr 的原理与最佳实践
从实际开发中遇到的 double free 问题出发,系统剖析智能指针 shared_ptr 的工作原理与 shared_ptr 的六大使用陷阱,最后提供 shared_ptr 非线程安全版本和基于原子操作的线程安全实现。
从实际开发中遇到的 double free 问题出发,系统剖析智能指针 shared_ptr 的工作原理与 shared_ptr 的六大使用陷阱,最后提供 shared_ptr 非线程安全版本和基于原子操作的线程安全实现。
最近看了 Cppcon24 的一个分享 "When Nanoseconds Matter, Ultrafast Trading Systems in C++",是顶级量化交易公司 Optiver 的工程师 David Gross 分享了构建低延时交易系统的一些思考与做法,列出了一些性能优化的指导原则。看完之后感觉干货满满,学到了很多 C++ 优化技巧,于是加入自己的理解,整理记录一下。
网络编程实战与源码分析
在 C++ 开发中,原生的线程库主要有两个,一个是 Linux 下的 pthread.h,另一个是 C++11 提供的 thread;以前一直用的是 pthread 的 API 写 C++ 的多线程程序,直到听说从 C++11 开始的标准库已经包含了对线程的支持。
改善程序与设计的 55 个具体做法
C++ STL Grammar
Modern C++ Lecture
当返回值为对象时,gcc 对此做了优化,不再产生临时对象,因此不再调用拷贝构造函数。