«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как C ++ может достичь стирания типа: сравнение методов?

Как C ++ может достичь стирания типа: сравнение методов?

Опубликовано в 2025-02-07
Просматривать:535

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

Тип методов стирания в C

тип Вот различные подходы к стиранию типа:

виртуальные функции

Виртуальные функции-это классическая методика, в которой вы абстрагируете реализацию класса внутри иерархии класса на основе интерфейса. Этот подход принимается многими библиотеками BOST, такими как Boost.Any и Boost.Shared_ptr, чтобы скрыть типы или механизмы сделки. с шаблонными функциями, при хранении фактического объекта в void -указателе. Boost.function использует эту технику, чтобы скрыть реальный тип функтора.

] Без обращения к виртуальным функциям или void* манипуляция. Он использует шаблоны функций в конструкторе SHARED_PTR для хранения любых данных и надлежащим образом вызовать правильный деструктор в конце. Несмотря на его простоту, этот подход предлагает удобство путем упаковки традиционной концепции void*/function-указатель , с основным отличием, в предоставлении семантического сахара.

]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3