#include #include int main() { Printer p; p.print("hello", Color::Green); // COLOR_ENABLE_BRIGHT 是 color 的 PUBLIC 宏, // 顺着 app → printer → color 传播到这里,本分支会被编译进去: #ifdef COLOR_ENABLE_BRIGHT std::cout << brightColorCode(Color::Red) << "bright red" << "\033[0m\n"; #endif // PRINTER_TIME_FORMAT 是 printer 的 PRIVATE 宏,这里看不见: #ifdef PRINTER_TIME_FORMAT std::cout << "leaked!\n"; // 永远不会被编译进去 #endif return 0; }