MakeDynamicAnalyzerGroup
C++ Build Insights SDK は、Visual Studio 2017 以降と互換性があります。 これらのバージョンのドキュメントを表示するには、この記事の Visual Studio バージョン セレクター コントロールを Visual Studio 2017 以降に設定します。 このページの目次の一番上にあります。
MakeDynamicAnalyzerGroup
関数は、動的アナライザー グループを作成するために使用されます。 アナライザー グループのメンバーは、トレース内のすべてのイベントが分析されるまで、左から右に 1 つずつイベントを受け取ります。
構文
auto MakeDynamicAnalyzerGroup(std::vector<IAnalyzer*> analyzers);
auto MakeDynamicAnalyzerGroup(std::vector<std::shared_ptr<IAnalyzer>> analyzers);
auto MakeDynamicAnalyzerGroup(std::vector<std::unique_ptr<IAnalyzer>> analyzers);
パラメーター
analyzers
動的アナライザー グループに含まれる IAnalyzer ポインターのベクター。 これらのポインターには、生、std::unique_ptr
、または std::shared_ptr
を使用できます。
戻り値
動的アナライザー グループ。 戻り値を取得するには、auto
キーワードを使用します。
解説
静的アナライザー グループとは異なり、動的アナライザー グループのメンバーは、コンパイル時に既知である必要はありません。 プログラムの入力、またはコンパイル時には不明な他の値に基づいて、実行時にアナライザー グループのメンバーを選択できます。 静的アナライザー グループとは異なり、動的アナライザー グループ内の IAnalyzer
ポインターにはポリモーフィックな動作があり、仮想関数の呼び出しは正しくディスパッチされます。 この柔軟性により、イベント処理時間が遅くなる可能性があります。 アナライザー グループのすべてのメンバーがコンパイル時にわかっていて、ポリモーフィックな動作が必要ない場合は、静的アナライザー グループの使用を検討します。 静的アナライザー グループを使用するには、代わりに MakeStaticAnalyzerGroup
を呼び出します。
動的アナライザー グループを、静的アナライザー グループ内にカプセル化することができます。 これを行うには、そのアドレスを MakeStaticAnalyzerGroup
に渡します。 静的アナライザー グループのみを受け入れる Analyze
などの関数に動的アナライザー グループを渡す場合は、この手法を使用します。