MakeDynamicReloggerGroup

Zestaw SDK kompilacji języka C++ Szczegółowe informacje jest zgodny z programem Visual Studio 2017 lub nowszym. Aby zapoznać się z dokumentacją dla tych wersji, ustaw kontrolkę selektora wersji programu Visual Studio dla tego artykułu na program Visual Studio 2017 lub nowszy. Znajduje się on w górnej części spisu treści na tej stronie.

Funkcja MakeDynamicReloggerGroup służy do tworzenia dynamicznej grupy ponownego rejestru. Członkowie grupy ponownego logowania odbierają zdarzenia po jednym od lewej do prawej do momentu przetworzenia wszystkich zdarzeń w śladze.

Składnia

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

reloggers
Wektor wskaźników IRelogger uwzględniony w dynamicznej grupie reloggerów. Te wskaźniki mogą być nieprzetworzone, std::unique_ptrlub std::shared_ptr. Wskaźniki IAnalyzer są również traktowane jako IRelogger wskaźniki ze względu na relację dziedziczenia.

Wartość zwracana

Dynamiczna grupa ponownego dziennika. Użyj słowa kluczowego auto , aby przechwycić wartość zwracaną.

Uwagi

W przeciwieństwie do statycznych grup ponownego dziennika, członkowie dynamicznej grupy ponownej rejestracji nie muszą być znane w czasie kompilacji. Można wybrać członków grupy ponownego logowania w czasie wykonywania na podstawie danych wejściowych programu lub na podstawie innych wartości, które są nieznane w czasie kompilacji. W przeciwieństwie do statycznych grup ponownego dziennika wskaźniki IRelogger w dynamicznej grupie ponownej rejestracji mają zachowanie polimorficzne, a wywołania funkcji wirtualnych są wysyłane poprawnie. Ta elastyczność wiąże się z kosztem prawdopodobnie wolniejszego czasu przetwarzania zdarzeń. Jeśli wszystkie elementy członkowskie grupy ponownejlogera są znane w czasie kompilacji i jeśli nie potrzebujesz zachowania polimorficznego, rozważ użycie statycznej grupy ponownejlogera. Aby zamiast tego użyć statycznej grupy ponownego dziennika, wywołaj metodę MakeStaticReloggerGroup .

Dynamiczna grupa ponownego dziennika może być hermetyzowana wewnątrz statycznej grupy ponownego dziennika. Przekazujesz jego adres do MakeStaticReloggerGroupadresu . Ta technika służy do przekazywania dynamicznych grup ponownego rejestrowania do funkcji, takich jak Relog, które akceptują tylko statyczne grupy ponownego rejestrowania.