プログラムを書いていますが、さまざまなマクロ変数の値に応じてさまざまな種類のデバッグ情報を出力したいと考えています (フラグの値を変更して、さまざまなレベルの情報を画面に書き込むことができるようにするため)。 )。
たとえば、プログラムに関する情報を画面に出力する次のコードがあるとします (これをD1と呼びます)。
cout << "% Percentage complete: "
<< ceil((static_cast<double>(idx)/static_cast<double>(ITERATIONS))*(100.00))
<< "%" << endl;
cout << "x = [ x; ";
for(int i=0; i<space.getDimension(); i++)
cout << visited.vec[visited.bestIndex].x[i] << "\t";
cout << "];" << endl;
ここで、プログラムに関するさまざまな情報を画面に出力する次のコードがあるとします (これをD2と呼びます)。
cout << "best = [ best; "
<< visited.vec[visited.bestIndex].meanQALY() << "];\n" << endl;
space.displayConstraintsMATLAB(idx+1);
#D1
コード内の特定の場所にandなどのステートメントを挿入し#D2
、マクロ プロセッサでこれらのステートメントを上記のコード ブロックに置き換えられるようにしたいと考えています。
これどうやってするの?
(マクロが理想的な解決策でない場合は、これを行うためのさまざまな方法についての提案をお待ちしております。)