败犬日报 2025-03-14
1. 关于重载的一道题
cpp
template <typename T>
std::string puzzle(T input){
if (input) {
return "Lose!";
} else if (!input) {
return "Lose!";
} else {
return "Win!";
}
}
如何返回 "Win!"?
一个方法是重载 operator bool
operator!
都返回 false。
另一个方法是重载 operator bool
第一次调用返回 false,第二次调用返回 true。
2. 工程中是否需要让变量的每一位都承载信息(例如使用位运算压缩结构体大小)
99% 的情况,不需要。
很多时候可扩展性比性能 / 内存大小更重要。