C++ 提防 STL 容器迭代器非法化 对于 deque 或者 list 之类的容器,不少算法会有需求在“迭代的过程中”对容器进行操作。直觉告诉我们,对一个正在被读取的对象做写操作是危险的。不巧今天也在 LRU 的实现上犯了这样的小错误,而且是以一种相对隐蔽的形式出现的。
C++ 快速傅里叶变换 在 Rosetta Code 上看到的快速傅里叶变换算法,其中用到了标准库中的 complex 和 valarray。我第一次注意到有 valarray 这个库,代码看起来很有函数式处理数组的味道,刚好很适合用在蝶形结递归里。代码简洁,并且顺便代入一个正弦波采样试了试。