가상 함수
가상 함수는 인터페이스 기반 클래스 계층 구조 내에서 클래스의 구현을 추상화하는 고전적인 기술입니다. 이 접근법은 유형 또는 거래 메커니즘을 숨기기 위해 boost.any 및 boost.shared_ptr과 같은 많은 부스트 라이브러리에 의해 채택됩니다. 템플릿 함수를 사용하면 실제 객체를 무효* 포인터에 저장합니다. 부스트 기능이 기술을 활용하여 실제 유형의 functor를 숨기기 위해. 가상 함수 또는 void* 조작에 의지하지 않으면
shared_ptr
shared_ptr 는 특히 흥미로운 기술입니다. Shared_PTR 생성자의 기능 템플릿을 활용하여 모든 데이터를 저장하고 끝에 올바른 소멸자를 적절하게 호출합니다. 단순성에도 불구하고,이 접근법은 기존의 공극*/function-pointer type erasure 개념을 포장하여 편리함을 제공합니다. , 의미 론적 설탕의 제공에 주요 차이가 있습니다.