これは、標準 C++ で変数の型を出力することは可能ですか?と同じ質問です。しかし、私は RTTI を望んでいません。式テンプレート (Eigen など) を使用してコードを書いています。これは、変数の型が実際に関与している可能性があり、実際の型がわからないことを意味します。ただし、コンパイラは型を認識しており、何か問題が発生した場合に教えてくれます。
error: ‘const struct Eigen::EigenBase<Eigen::Matrix<double, 1, 1, 0, 1, 1> >’ ...
プログラムを壊さずにデバッグできるように、変数名を (静的) 型名の文字列に変換する方法はありますか? 例えば
int a;
M b;
cout << TYPEOF(a) << endl << TYPEOF(b) << endl;
印刷します
int
const struct Eigen::EigenBase<Eigen::Matrix<double, 1, 1, 0, 1, 1> >’