複雑なデータ構造を視覚化するために私が使用するDump()
方法は、データを文字列にフォーマットしてstd::string
. 変数を調べたい場合は、デバッガーで変数を選択し、Ctrl-Alt-Q
と入力して QuickWatch を呼び出しますmyVariable.Dump()
。これにより、文字列が 1 行に凝縮されて表示されます。虫めがねアイコンをクリックすると、サイズ変更可能なテキスト ビジュアライザー ウィンドウが開きます。
フォーマットをさらに制御する必要がある場合は、Dump()
メソッドが必要な詳細レベルの int を取るようにします。
編集:
わかりました、ここに例を示しstringstream
ます。文字列を組み立てるために使用します: [免責事項: 私はこれをコンパイルしようとはしていません]
class Matrix {
public:
int m_Data[ROWS][COLS];
...
std::string Dump() const {
std::ostringstream oss;
for (int r=0;r<ROWS; r++) {
for (int c=0;c<COLS; c++) {
oss << m_Data[r][c] << " ";
}
oss << "\n";
}
return oss.str();
}
void DumpToFile() {
std::ofstream os("output.txt");
os << Dump();
}
};
Dump() メソッドは、QuickWatch ウィンドウに表示できる文字列に出力します。テキスト プレビューが小さすぎる場合は、代わりに DumpToFile() を呼び出して、別のテキスト エディターで表示できるファイルにマトリックスを書き込むことができます。重要なことは、QuickWatch が関数呼び出しを (ある程度まで) 評価するので、それを使用してこれらのヘルパー メソッドを呼び出すことができるということです。