//段階的デバッグ切り替え
#define DEBUG_LEVEL 1 // ← ← ← ここを切り替えるだけ!
#if DEBUG_LEVEL >= 1
#define DBG1(x) x
#else
#define DBG1(x)
#endif
#if DEBUG_LEVEL >= 2
#define DBG2(x) x
#else
#define DBG2(x)
#endif
使用例
DBG1(std::cout << "簡易デバッグ\n";)
DBG2(std::cout << "詳細デバッグ\n";)
//DEBUG_LEVEL 0 → どちらも出ない(完全無視)
//DEBUG_LEVEL 1 → DBG1 だけ出る(一部有効)
//DEBUG_LEVEL 2 → 両方出る(フルデバッグ)
複数行はどうかな?
int main() {
DBG(
std::cout << "debug\n"; std::cout << "debug\n"; std::cout << "debug\n"; std::cout << "debug\n"; std::cout << "debug\n"; std::cout << "debug\n"; std::cout << "debug\n";
)
std::cout << "Hello World!\n";
}// いけた。
引用 chatGPT