Sdílet prostřednictvím


MakeDynamicAnalyzerGroup

Sada C++ Build Insights SDK je kompatibilní se sadou Visual Studio 2017 a novějšími verzemi. Pokud chcete zobrazit dokumentaci k těmto verzím, nastavte ovládací prvek selektoru verzí sady Visual Studio pro tento článek na Visual Studio 2017 nebo novější. Nachází se v horní části obsahu na této stránce.

Funkce MakeDynamicAnalyzerGroup se používá k vytvoření skupiny dynamického analyzátoru. Členové skupiny analyzátoru přijímají události po jednom zleva doprava, dokud se neanalyzuje všechny události v trasování.

Syntaxe

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

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

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

Parametry

Analyzátory
Vektor ukazatelů IAnalyzer zahrnutých ve skupině dynamických analyzátorů Tyto ukazatele mohou být nezpracované, std::unique_ptrnebo std::shared_ptr.

Návratová hodnota

Skupina dynamických analyzátorů. Pomocí klíčového auto slova zachyťte vrácenou hodnotu.

Poznámky

Na rozdíl od skupin statických analyzátorů nemusí být členové skupiny dynamických analyzátorů v době kompilace známi. Členy skupiny analyzátorů můžete zvolit za běhu na základě vstupu programu nebo na základě jiných hodnot, které nejsou v době kompilace neznámé. Na rozdíl od skupin IAnalyzer statických analyzátorů mají ukazatele v rámci skupiny dynamických analyzátorů polymorfní chování a volání virtuálních funkcí se správně odesílají. Tato flexibilita přináší náklady na možná pomalejší dobu zpracování událostí. Pokud jsou všichni členové skupiny analyzátoru známi v době kompilace a pokud nepotřebujete polymorfní chování, zvažte použití skupiny statických analyzátorů. Pokud chcete použít skupinu statických analyzátorů, volejte MakeStaticAnalyzerGroup místo toho.

Dynamická skupina analyzátorů je možné zapouzdřovat uvnitř skupiny statických analyzátorů. Je to provedeno předáním jeho adresy MakeStaticAnalyzerGroup. Tuto techniku použijte pro předávání skupin dynamického analyzátoru funkcím, jako Analyzejsou například , které přijímají pouze skupiny statických analyzátorů.