170 похожих чатов

Всем привет, подскажите, а для чего нужна идиома PIMPL?

8 ответов

8 просмотров

Разделение интерфейса и реализации. Вам проще загуглить, думаю, статей полно

🩼

для сокрытия приватной реализации от внешних глаз.

Антон- Автор вопроса
Макс Воробьев
для сокрытия приватной реализации от внешних глаз.

и ради этого приходится в лишний раз разиминовывать указатель?

Антон
и ради этого приходится в лишний раз разиминовыват...

Это цена pimpl, которую приходится платить, все так

Alexander Pshenichnikov
Разделение интерфейса и реализации. Вам проще загу...

Добавлю еще один момент: если у тебя в разработке толпа джунов для которых фабрика слишком сложна. У меня была ситуация, когда это было главным в выборе архитектуры проекта.

Антон
и ради этого приходится в лишний раз разиминовыват...

Есть идиома fast pimpl. Она ломает ABI (пункт 2 из сообщения Анатолия выше), но позволяет устранить потерю производительности, связанную с отдельным размещением реализации.

Alexey Petrunyaka
Есть идиома fast pimpl. Она ломает ABI (пункт 2 из...

если использовать изначально фиксированный буфер, достаточный для хранения состояния PIMPL, то ABI может выжить, но, к сожу, здесь будет оверхед по памяти

Похожие вопросы

Обсуждают сегодня

кому не сложно распишите пожалуйста для какой цели тут вот эти скобки и в них пихается указатель?
Михаил Helper
15
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
Комрады, посоветуйте, куда копать? Стал прикручивать кастомизацию тем. В OnShow главной главной формы пытаюсь загрузить из файла настроек и применить тему (на скрине, как долж...
Ed Doc
13
Такс, блин, таки кто-то знает, каким образом работают макросы stdin/stdout/stderr? Я влез в stdio.h, там определения нет, отладил через асмокод - вызывается функция со странны...
The Bird of Hermes
18
OnShow один раз вызывается? или возможен Hide?
Iluha Companets
14
Hi, I have a partitioned table in Postgres that has a composite primary key on 3 columns out of which two columns are partition key columns. Now I have a requirement to add a ...
Sujith
1
Гайз, кто-нибудь пробовал запустить probe-rs под камень, которого нет в probe-rs? Мб есть какой-нибудь пример у кого... Через target-gen попробовал сгенерировать chip-descript...
Максим Смирнов
2
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Если у меня есть такой класс: Object = {} function Object:new(a_name, a_transform, a_color, a_mesh, a_material, a_shader, a_textures) local private = {} private.n...
Cuarno Vile
4
Всем привет, на линуксе лучше на fasm или nasm учиться писать для начала ?
meszjol
14
Карта сайта