『C++プログラミング思想』使用テクニックまとめ
(1)印刷式
デバッグコードを書くとき、変数名と変数名を含む文字配列からなる印刷式を書くのは退屈で、幸いなことに、標準Cには文字列化演算子'#'があり、プリプロセッサはこのパラメータを文字配列に変換します.この点を句読点が挿入されていないいくつかの文字と組み合わせて、個別の文字配列にリンクし、デバッグ中に変数を印刷するのに便利なマクロの値を生成することができます.
デバッグコードを書くとき、変数名と変数名を含む文字配列からなる印刷式を書くのは退屈で、幸いなことに、標準Cには文字列化演算子'#'があり、プリプロセッサはこのパラメータを文字配列に変換します.この点を句読点が挿入されていないいくつかの文字と組み合わせて、個別の文字配列にリンクし、デバッグ中に変数を印刷するのに便利なマクロの値を生成することができます.
#define PR(x) cout<
例は以下の通りである.//: C03:StringizingExpressions.cpp
// From Thinking in C++, 2nd Edition
// Available at http://www.BruceEckel.com
// (c) Bruce Eckel 2000
// Copyright notice in Copyright.txt
#include
using namespace std;
#define P(A) cout << #A << ": " << (A) << endl;
int main() {
int a = 1, b = 2, c = 3;
P(a); P(b); P(c);
P(a + b);
P((c - a)/b);
system("pause");
} ///:~