Как избавиться от зависимостей в хэдерах?

Например, я пишу класс, который зависит от каких-то библиотек, т.е. их типов. Внутри класса у меня приватные поля для этих данных. Я не хочу, чтобы пользователь в принципе знал о том, что я использовал. Не для того, чтобы скрыть как секрет, а чтобы не засорять ему статический анализ, и избавить его от конфликтов неймспейсов (редко, но бывает). Возможно ли это сделать?


Ответы (1 шт):

Автор решения: KoVadim

да, называется pImpl. Это общеизвестная идиома. В хедере только интерфейс, который пробрасывает запросы к внутреннему объекту, который объявлен полностью в cpp классе.

→ Ссылка