Skip to content

败犬日报 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% 的情况,不需要。

很多时候可扩展性比性能 / 内存大小更重要。