分享方式:


MakeDynamicAnalyzerGroup

C++ Build Insights SDK 與 Visual Studio 2017 和更新版本相容。 若要查看這些版本的檔,請將本文的 Visual Studio 版本 選取器控制項設定為 Visual Studio 2017 或更新版本。 其位於此頁面目錄頂端。

MakeDynamicAnalyzerGroup 式可用來建立動態分析器群組。 分析器群組的成員會從左至右逐一接收事件,直到分析追蹤中的所有事件為止。

語法

auto MakeDynamicAnalyzerGroup(std::vector<IAnalyzer*> analyzers);

auto MakeDynamicAnalyzerGroup(std::vector<std::shared_ptr<IAnalyzer>> analyzers);

auto MakeDynamicAnalyzerGroup(std::vector<std::unique_ptr<IAnalyzer>> analyzers);

參數

分析儀
動態分析器群組中包含的 IAnalyzer 指標向量 。 這些指標可以是原始、 std::unique_ptrstd::shared_ptr

傳回值

動態分析器群組。 auto使用 關鍵字來擷取傳回值。

備註

不同于靜態分析器群組,動態分析器群組的成員不需要在編譯時期知道。 您可以在執行時間根據程式輸入,或根據編譯時間未知的其他值,選擇分析器群組成員。 與靜態分析器群組不同, IAnalyzer 動態分析器群組內的指標具有多型行為,且虛擬函式呼叫會正確分派。 這種彈性代價是事件處理時間可能變慢。 當所有分析器群組成員在編譯階段都已知,而且您不需要多型行為時,請考慮使用靜態分析器群組。 若要使用靜態分析器群組,請改為呼叫 MakeStaticAnalyzerGroup

動態分析器群組可以封裝在靜態分析器群組內。 其完成方式是將其位址傳遞至 MakeStaticAnalyzerGroup 。 使用這項技術將動態分析器群組傳遞至之類的函式,這類 Analyze 函式只接受靜態分析器群組。