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_ptr
或 std::shared_ptr
。
傳回值
動態分析器群組。 auto
使用 關鍵字來擷取傳回值。
備註
不同于靜態分析器群組,動態分析器群組的成員不需要在編譯時期知道。 您可以在執行時間根據程式輸入,或根據編譯時間未知的其他值,選擇分析器群組成員。 與靜態分析器群組不同, IAnalyzer
動態分析器群組內的指標具有多型行為,且虛擬函式呼叫會正確分派。 這種彈性代價是事件處理時間可能變慢。 當所有分析器群組成員在編譯階段都已知,而且您不需要多型行為時,請考慮使用靜態分析器群組。 若要使用靜態分析器群組,請改為呼叫 MakeStaticAnalyzerGroup
。
動態分析器群組可以封裝在靜態分析器群組內。 其完成方式是將其位址傳遞至 MakeStaticAnalyzerGroup
。 使用這項技術將動態分析器群組傳遞至之類的函式,這類 Analyze
函式只接受靜態分析器群組。