0

プログラム内の変数に関する情報を記録するプログラムに取り組んでいます。この情報をファイル -> 関数 -> 変数でグループ化したいと思います。

file.function.variableツリー ( ) 内のパスに Access オブジェクトを格納し、ツリーを XML や JSON などに簡単に変換できるため、boost::property_tree はこれに適しているように思えました。

変数の使用回数を記録しているとします。変数への書き込みと読み取りの回数を追跡する Access クラスを作成できます。次に、このオブジェクトをツリーの file.function.variable に格納できます。変数にアクセスするたびに、ツリー内の変数を見つけて、それに関する情報を更新できます。

ただし、クラスをツリ​​ーに格納する方法がわかりません。実装またはサブクラス化する必要があるものがあると思いますが、ドキュメントは私がやろうとしていることを扱っていません。

私の問題の解決策はありますか? boost::property_tree に代わるより良い方法はありますか?

ありがとうございました。

4

2 に答える 2

0

ツリーのアイデアを捨てて、キーと値のペアのフラット マップに固執することもできます。

例:

std::map<std::string, Access> accesses;
// add one access
accesses["file.function.variable"] += 1;

そのコンテンツから JSON を生成するルーチンを作成するだけで済みます。これは簡単なはずです。(キーの最初の部分は常にファイル、2 番目は常に関数、3 番目は常に変数であると仮定します。)

于 2013-04-02T20:41:54.333 に答える