Sdílet prostřednictvím


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_ptrnebo 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 Relogjsou například , které přijímají pouze statické skupiny reloggeru.