MakeDynamicReloggerGroup
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 MakeDynamicReloggerGroup
slouží k vytvoření dynamické skupiny reloggeru. Členové skupiny relogger přijímají události jedna po druhé zleva doprava, dokud nebudou zpracovány všechny události v trasování.
Syntaxe
auto MakeDynamicReloggerGroup(std::vector<IRelogger*> reloggers);
auto MakeDynamicReloggerGroup(std::vector<std::shared_ptr<IRelogger>> reloggers);
auto MakeDynamicReloggerGroup(std::vector<std::unique_ptr<IRelogger>> reloggers);
Parametry
reloggery
Vektor ukazatelů IRelogger zahrnutých do dynamické skupiny reloggeru . Tyto ukazatele mohou být nezpracované, std::unique_ptr
nebo std::shared_ptr
. Ukazatele IAnalyzer jsou také považovány za IRelogger
ukazatele kvůli vztahu dědičnosti.
Návratová hodnota
Dynamická skupina reloggeru. Pomocí klíčového auto
slova zachyťte vrácenou hodnotu.
Poznámky
Na rozdíl od statických skupin reloggeru nemusí být členové dynamické skupiny reloggeru v době kompilace známi. Členy skupiny relogger můžete zvolit za běhu na základě vstupu programu nebo na základě jiných hodnot, které jsou v době kompilace neznámé. Na rozdíl od statických skupin IRelogger
reloggeru mají ukazatele v rámci dynamické skupiny reloggeru 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 reloggeru známi v době kompilace a pokud nepotřebujete polymorfní chování, zvažte použití statické skupiny reloggeru. Pokud chcete použít statickou skupinu reloggeru, zavolejte MakeStaticReloggerGroup
místo toho.
Dynamickou skupinu reloggeru lze zapouzdřovat uvnitř statické skupiny reloggeru. Předáte jeho adresu MakeStaticReloggerGroup
. Tuto techniku použijte k předávání dynamických skupin reloggeru funkcím, jako Relog
jsou například , které přijímají pouze statické skupiny reloggeru.