Вопросы по теме 'pimpl-idiom'

Почему следует использовать идиому PIMPL?
Справочная информация: Идиома PIMPL (указатель на IMPLementation) - это метод скрытия реализации, при котором открытый класс обертывает структуру или класс, который нельзя увидеть за пределами библиотеки, частью которой является общедоступный...
111004 просмотров
schedule 11.05.2023

Мог ли C++ избежать использования идиомы pimpl?
Насколько я понимаю, идиома pimpl существует только потому, что C++ заставляет вас размещать все члены закрытого класса в заголовке. Если бы заголовок содержал только общедоступный интерфейс, теоретически любое изменение в реализации класса не...
2953 просмотров

Предупреждение компоновщика MSVC++ при использовании идиомы PIMPL в C++/CLI
Я пишу сборку .NET, используя C++/CLI (версия 9.0), и я хотел бы использовать идиому PIMPL, чтобы не помещать ненужные вещи в мой общедоступный заголовок. К сожалению, когда я пытаюсь перенаправить объявление класса, а затем использую для него...
823 просмотров
schedule 21.02.2023

PIMPL и распределение стека
Итак, я подумал о PIMPL и распределении стека. Я писал библиотеку и решил использовать PIMPL, чтобы скрыть закрытый член класса. Это означает, что у меня был бы класс, объявленный так class Foo { private: class Handle;...
1481 просмотров
schedule 19.02.2022

Как использовать идиому Qt PIMPL?
PIMPL означает P вместо IMPL ementation. Реализация означает «детали реализации»: то, о чем пользователям класса не нужно беспокоиться. Реализации собственных классов Qt четко отделяют интерфейсы от реализаций за счет использования идиомы...
16670 просмотров
schedule 14.12.2022

C++: прямое объявление класса с помощью удаления для уникального указателя, который можно повторить
В C++ можно использовать предварительное объявление, чтобы разрешить указатели на неполный тип. class A; A *p; Однако в некоторых случаях я хочу вместо этого объявить уникальный указатель, поэтому я использую class A; class A_Deleter {...
117 просмотров

Неполный тип идиомы C ++ Pimpl с использованием std :: unique_ptr
Прошу прощения за большой объем кода, необходимый для демонстрации проблемы. У меня проблема с использованием идиомы pimpl с std :: unique_ptr. В частности, проблема возникает, когда один класс (который имеет реализацию с расширением) используется в...
1609 просмотров

Как использовать идиому pimpl с Qt и подклассами QObject
Я хотел бы знать, как проще всего реализовать идиому pimpl в объектах Qt. Я хочу иметь что-то вроде этого: прыщ.ч: class B; class A: public QObject { B *b; } pimpl.cxx: class B: public QObject { } Теперь, как очевидно, Qt не...
314 просмотров
schedule 09.12.2022

Идиома Pimpl как базовый класс шаблона
В настоящее время я изучаю идиому pimpl , и есть очень хорошие руководства по ее реализации (например, здесь ). Но я никогда не видел, чтобы он был реализован как базовый класс шаблона, например: #ifndef PIMPL_H #define PIMPL_H template...
1317 просмотров
schedule 08.10.2022

IBM Rhapsody: сгенерируйте класс C++ в файле реализации
Я хотел бы создать класс С++ в файле реализации (.cpp) вместо файла заголовка, чтобы реализовать идиому PIMPL. Например: http://www.cppsamples.com/common-tasks/pimpl.html Как я могу добиться этого в IBM Rhapsody, используя встроенный автокодер?
380 просмотров
schedule 20.01.2024

pimpl для защищенного члена во время наследования
У меня есть большое количество защищенных функций-членов, объявленных в файле hpp `базового класса, который используется производным классом. Моя идея состоит в том, чтобы удалить их из файла заголовка, чтобы уменьшить зависимость компиляции. Я...
435 просмотров
schedule 21.07.2022

Как избежать понижения в этом конкретном дизайне иерархии классов?
У меня есть задание создать своего рода мультиплатформенную библиотеку C++ GUI. Он охватывает разные графические интерфейсы на разных платформах. Сама библиотека предоставляет интерфейс, через который пользователь общается единообразно, независимо...
186 просмотров