"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > C ++는 어떻게 유형 삭제를 달성 할 수 있습니까? 기술 비교?

C ++는 어떻게 유형 삭제를 달성 할 수 있습니까? 기술 비교?

2025-02-07에 게시되었습니다
검색:974

How Can C   Achieve Type Erasure: A Comparison of Techniques?

가상 함수

가상 함수는 인터페이스 기반 클래스 계층 구조 내에서 클래스의 구현을 추상화하는 고전적인 기술입니다. 이 접근법은 유형 또는 거래 메커니즘을 숨기기 위해 boost.any 및 boost.shared_ptr과 같은 많은 부스트 ​​라이브러리에 의해 채택됩니다. 템플릿 함수를 사용하면 실제 객체를 무효* 포인터에 저장합니다. 부스트 기능이 기술을 활용하여 실제 유형의 functor를 숨기기 위해. 가상 함수 또는 void* 조작에 의지하지 않으면

shared_ptr

shared_ptr 는 특히 흥미로운 기술입니다. Shared_PTR 생성자의 기능 템플릿을 활용하여 모든 데이터를 저장하고 끝에 올바른 소멸자를 적절하게 호출합니다. 단순성에도 불구하고,이 접근법은 기존의 공극*/function-pointer type erasure 개념을 포장하여 편리함을 제공합니다. , 의미 론적 설탕의 제공에 주요 차이가 있습니다.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3