Pimpl
Зануда-mode on
Pimpl - идиома C++ для разделения интерфейса и реализации и уменьшения зависимости пользовательского кода от изменений в реализации.
Pimple - один из протагонистов во франшизе Battletoads.
Идиома распространённая (например, Qt), но не без недостатков, а именно немного усложняется поддержка. Накладные расходы на поддержку:
- нельзя использовать в header-only библиотеках (нужна выделенная единица трансляции);
- "дублирование" функций (forwarding functions) в классе-обёртке;
- отдельный механизм для выделения и освобождения скрытых за указателем объектов;
Зануда-mode off
Всем, кто начинает изучать c++, посвящается...
