MakeDynamicReloggerGroup
C++ Build Insights SDK는 Visual Studio 2017 이상과 호환됩니다. 이러한 버전에 대한 설명서를 보려면 이 문서에 대한 Visual Studio 버전 선택기 컨트롤을 Visual Studio 2017 이상으로 설정하세요. 이 페이지의 목차 맨 위에 있습니다.
MakeDynamicReloggerGroup
함수는 동적 재로거 그룹을 만드는 데 사용됩니다. 재로거 그룹의 멤버는 추적의 모든 이벤트가 처리될 때까지 왼쪽에서 오른쪽으로 하나씩 이벤트를 수신합니다.
구문
auto MakeDynamicReloggerGroup(std::vector<IRelogger*> reloggers);
auto MakeDynamicReloggerGroup(std::vector<std::shared_ptr<IRelogger>> reloggers);
auto MakeDynamicReloggerGroup(std::vector<std::unique_ptr<IRelogger>> reloggers);
매개 변수
reloggers
동적 재로거 그룹에 포함된 IRelogger 포인터의 벡터입니다. 이러한 포인터는 원시, std::unique_ptr
또는 std::shared_ptr
일 수 있습니다. 상속 관계로 인해 IAnalyzer 포인터는 IRelogger
포인터로도 간주됩니다.
Return Value
동적 재로거 그룹. auto
키워드를 사용하여 반환 값을 캡처합니다.
설명
정적 재로거 그룹과 달리 동적 재로거 그룹의 멤버는 컴파일 시간에 알려지지 않아도 됩니다. 런타임에 프로그램 입력을 기반으로 재로거 그룹 멤버를 선택하거나 컴파일 시간에 알 수 없는 다른 값을 기반으로 선택할 수 있습니다. 정적 재로거 그룹과 달리 동적 재로거 그룹 내의 IRelogger
포인터는 다형 동작을 가지며 가상 함수 호출이 올바르게 디스패치됩니다. 이러한 유연성으로 인해 이벤트 처리 시간이 느려질 수 있습니다. 컴파일 시간에 모든 재로거 그룹 멤버가 알려지고 다형 동작이 필요하지 않은 경우에는 정적 재로거 그룹을 사용하는 것이 좋습니다. 정적 재로거 그룹을 사용하려면 대신 MakeStaticReloggerGroup
을 호출합니다.
동적 재로거 그룹은 정적 재로거 그룹 내부에 캡슐화할 수 있습니다. MakeStaticReloggerGroup
에 해당 주소를 전달합니다. Relog
와 같이 정적 재로거 그룹만 허용하는 함수에 동적 재로거 그룹을 전달하는 데 이 기법을 사용합니다.