Skip to content
败犬日报 2026-01-08

败犬日报 2026-01-08

1. 把浮点数折叠到一个周期内,用 fmod、算倍数减掉还是循环减

假设 x > 0。

fmod:x = std::fmod(x, period); 这个开了 -O3 优化也是 call,可能实现很复杂,用性能换精度那种。

算倍数减掉:x - static_cast<int64_t>(x / period) * period; 这个是比较常见的做法,性能和精度应该都不错。

循环减:while (x >= period) x -= period; 这个循环越多越掉精度,以及掉性能,最好保证只可能循环没几次。

2. 底层视角的返回值优化(文章)

https://zhuanlan.zhihu.com/p/1992729203234326382

嘻嘻我推荐我自己。

3. 高内聚低耦合怎么理解

这俩是一个整体,就是模块对外的接口应该是抽象的,A 模块不应该依赖过多 B 模块的实现细节(耦合),在接口不变的情况下 B 模块随意修改乃至整体换掉都不用改 A 模块。

4. 群友:给你看看屎山是怎么垒出来的

一开始是个 vector,然后新增了一个 vector,陆续有 12 个要求一样长的 vector,每次 push_back / pop_back / clear 要写 12 遍。