C++でちょっと役に立つかもしれないコメントの小技

プログラムの修正・実行を繰り返しているときに、ある2ヶ所のコードのコメントアウトを切り替えたくなる時がたまにあったりする。そんなときに役立つ小技。


↓のような感じで、コメントアウトの切り替えを行いたいコードを//*/*///*/の3行ではさむ。

#include <iostream>
using namespace std;

int main() {
    //*
    cout << "code1" << endl;   // 処理が実行される
    /*/
    cout << "code2" << endl;   // コメントアウト
    //*/
    return 0;
}

この状態でプログラムをコンパイル・実行すると、main関数でcout << "code1" << endl;が実行される。cout << "code2" << endl;はコメントアウトされているので実行されない。ここで、

    //*

↑のスラッシュをひとつ消すと、cout << "code1" << endl;の部分がコメントアウトされ、代わりにcout << "code2" << endl;が実行されるようになる。

#include <iostream>
using namespace std;

int main() {
    /*   ← スラッシュをひとつ削除
    cout << "code1" << endl;   // コメントアウト
    /*/
    cout << "code2" << endl;   // 処理が実行される
    //*/
    return 0;
}

何でうまく切り替わるのかはコードをよーく見てもらえれば分かるはず!ちなみに再びコメントアウトを切り替えるときは、先ほど消したスラッシュを追加して元に戻せばOK。


覚えておくと何かの役に立つかも!


ちなみにコメントアウトを切り替えたい2ヶ所のコードが離れていたりする場合、この方法は使えない。その時は#defineを使うといいかも。