
从一次 double free 深入理解 shared_ptr 的原理与最佳实践
从实际开发中遇到的 double free 问题出发,系统剖析智能指针 shared_ptr 的工作原理与 shared_ptr 的六大使用陷阱,最后提供 shared_ptr 非线程安全版本和基于原子操作的线程安全实现。
从实际开发中遇到的 double free 问题出发,系统剖析智能指针 shared_ptr 的工作原理与 shared_ptr 的六大使用陷阱,最后提供 shared_ptr 非线程安全版本和基于原子操作的线程安全实现。
OI Wiki 致力于成为一个免费开放且持续更新的编程竞赛知识整合站点,聚焦于竞赛中的基础知识、常见题型、解题思路以及常用工具等内容,帮助大家更快速深入地学习编程竞赛中涉及到的知识。
最近看了 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 开始的标准库已经包含了对线程的支持。
归纳 C++ 的 ACM 输入输出常见场景与各数据类型的构造方式,常见于「面试手撕」与「笔试」
改善程序与设计的 55 个具体做法