3

子から親への「逆」参照を持つ式ツリーを生成したいと考えています。式ラッパー クラス (を使用proto::extends<>) に親式への参照が含まれるように、Proto ジェネレーターまたはドメインをカスタマイズする方法はありますか?

この背後にある目標は、評価された結果をキャッシュする式ツリーを作成して、効率的に再評価できるようにすることです。私の戦略は、ターミナル値を更新してから、親ノードを「ダーティ」としてマークするツリーをたどって、ルート式が評価されるときに再評価されるようにすることです。

4

1 に答える 1

3

あなたが説明するテクニックは機能しません。式はボトムアップで構築されます。式の場合、子ノード ( ) が作成された時点でa + (b * c)は親ノード ( +) は存在しませんb * c。子は、まだ存在しないオブジェクトへのポインターを格納できません。

変換またはコンテキストを使用して親ポインターを設定するには、式を後処理する必要があります。

于 2015-08-13T17:29:24.607 に答える