推导 Bloom Filter 的误判率公式,并给出最优哈希函数个数与位数组长度的数学结论。
通过一个最小示例介绍如何使用 LLVM libFuzzer 构建模糊测试,并定位程序中的崩溃问题。
对比 Rust 与 C++ 在泛型、trait 约束和特例化机制上的异同与实践方式。
对比 Rust 与 C++ 在可变性、移动语义和所有权模型上的核心差异与设计取舍。
在C/C++中,我们经常会像下面的代码那样使用一个指向函数的指针,我们称之为函数指针。
利用 std::list::splice 的常数时间节点移动能力,实现一个高效的 LRU Cache。
shared_ptr是一种共享所有权的智能指针,它允许我们安全地访问和管理对象的生命周期。shared_ptr的多个实例通过共享控制块结构来控制对象的生命周期。
c++11 对智能指针做了很大的优化,废弃了 c++98 中的auto_ptr,引入了三种新的智能指针:unique_ptr,shared_ptr,weak_ptr。
介绍 Expression Templates 的基本思路,以及它如何通过延迟求值减少中间对象和额外开销。
对比 C++ 中基于虚函数表的动态多态与模板驱动的静态多态,理解两者的实现原理与取舍。