Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zestaw SDK usługi Build Insights języka C++ 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 MakeDynamicAnalyzerGroup służy do tworzenia grupy analizatora dynamicznego. Członkowie grupy analizatorów odbierają zdarzenia kolejno od lewej do prawej, aż wszystkie zdarzenia w śladzie zostaną przeanalizowane.
Składnia
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
Analizatory
Wektor wskaźników IAnalyzer uwzględniony w grupie analizatorów dynamicznych. Te wskaźniki mogą być nieprzetworzone, std::unique_ptrlub std::shared_ptr.
Wartość zwracana
Grupa analizatorów dynamicznych. Użyj słowa kluczowego auto , aby przechwycić wartość zwracaną.
Uwagi
W przeciwieństwie do grup analizatorów statycznych członkowie grupy analizatora dynamicznego nie muszą być znane w czasie kompilacji. Możesz wybrać członków grupy analizatora 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 grup analizatorów statycznych wskaźniki IAnalyzer w grupie analizatora dynamicznego 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 analizatora są znane w czasie kompilacji i jeśli nie potrzebujesz zachowania polimorficznego, rozważ użycie grupy analizatora statycznego. Aby zamiast tego użyć grupy analizatora statycznego, wywołaj metodę MakeStaticAnalyzerGroup .
Grupę analizatora dynamicznego można hermetyzować wewnątrz grupy analizatora statycznego. Odbywa się to przez przekazanie jego adresu do MakeStaticAnalyzerGroup. Ta technika służy do przekazywania grup analizatora dynamicznego do funkcji, takich jak Analyze, które akceptują tylko grupy analizatorów statycznych.