Tag
仿函数是重载operator()的类对象,能像函数调用且携带状态和类型信息;普通函数无法保存上下文,而仿函数可维持成员变量实现累加、过滤等逻辑,支持STL算法并优于函数指针与lambda的复用性、内联性及类型明确性。
查看更多 2026-06-19
std::string_view比conststd::string&更轻量,因其仅存储指针和长度、零分配零拷贝、大小固定为16字节,且substr等操作为O(1),但需严格管理生命周期并避免用于需修改、长期持有或空终止的场景。
查看更多 2026-06-19
vector::push_back扩容时新容量不强制倍增,主流实现采用1.5倍(GCC13+)或2倍(libc++、MSVC),避免固定增量导致摊还复杂度退化为O(n)。
查看更多 2026-06-19
初始化列表是C++构造对象的核心机制,它直接调用成员/基类构造函数,避免默认构造与赋值开销;const和引用成员必须在此初始化;初始化顺序严格按声明顺序,而非列表顺序。
查看更多 2026-06-19
Folly是Facebook开源的高性能C++基础设施库,专注解决大规模服务中的内存管理、异步I/O等痛点,依赖C++17+、Linux优先,需源码编译并链接多项系统依赖。
查看更多 2026-06-19
CRTP能实现静态多态,因其基类为模板且参数为派生类自身,使基类可通过static_cast(this)在编译期安全调用派生类接口,无虚函数开销。
查看更多 2026-06-18
try-catch基本写法是用try包裹可能抛异常代码,catch按顺序精确匹配异常类型(支持派生类基类隐式转换),推荐使用const引用避免切片和拷贝;无匹配时栈展开,最终调用std::terminate终止程序。
查看更多 2026-06-18
Python不支持传统函数重载,因是动态类型语言,参数无类型声明且后定义函数会覆盖同名函数;可通过默认参数、args/*kwargs、isinstance判断或functools.singledispatch模拟,后者最接近重载但仅支持单参数类型分发。
查看更多 2026-05-30
缓存局部性差导致CPU等待内存几十至上百周期,吞吐可跌至理论峰值10%以下;vector连续布局比list快5–10倍因空间局部性好,结构体字段重排和行优先循环顺序亦关键。
查看更多 2026-05-29
std::unordered_map默认用链地址法且不可替换为开放定址法;手写链地址法需桶数组+链表、质数容量与负载因子控制;开放定址法需删除标记和探测策略,二者适用场景不同。
查看更多 2026-05-29
Demand feedback