Другие причины или цель использования Pimpl Idoim
Как следует из названия, мне было интересно, какие еще причины, цели или применения существуют для идиомы PImpl, кроме сокращения времени восстановления.
Приведу пример отсюда:
(Местные жители нити должны быть позади стены прыща; они не могут быть экспортированы непосредственно
Я не понимаю, что означает пользователь, но я понимаю, что есть и другие интересные способы использования идиомы PImpl,
1 ответ
Из книги Скотта Мейерса "Эффективное С ++, третье издание" (пункт 31)
"Ключом к этому разделению является замена зависимостей в определениях зависимостями в объявлениях. В этом суть минимизации зависимостей компиляции: делайте заголовочные файлы самодостаточными, когда это целесообразно, а когда нет, полагайтесь на объявления в других файлах, а не на определения"
Например, в этом случае, перемещая локальную переменную потока в файл определения, вы получаете на одну зависимость меньше компиляции, потому что thread_local.hpp не включен в файл объявления.