败犬日报 2024-11-24
1. 我们很遗憾地表示,目前尚未有编译器完整实现了 C++11
指垃圾回收 (GC)。
https://zh.cppreference.com/w/cpp/compiler_support/11
GC 违反零开销原则,这可能是主要原因。
2. std::find
返回迭代器,但是 std::string::find
返回的是下标不是迭代器
string 出现早于 STL 标准化,那时候大概还没统一用迭代器。
STL 的一个核心设计思想就是通过迭代器解耦容器与算法。
3. 为什么 set 没有 kth(查询第 k 小)
std::set
要支持第 k 小需要节点额外记录子树大小,有额外开销,可能考虑不常用就没有加。
4. 为什么不能像 JS 那样 (x, y) => x + y
一种可能的办法是 boost.lambda2
。