Вопросы по теме 'pimpl-idiom'
Это хорошее место для использования шаблона PIMPL?
Я работаю над библиотекой, которая определяет клиентский интерфейс для некоторой службы. Под капотом я должен проверить данные, предоставленные пользователями, а затем передать их процессу «движка», используя класс Connection из другой библиотеки...
1585 просмотров
schedule
19.01.2024
Как идиома pimpl уменьшает количество зависимостей?
Рассмотрим следующее:
PImpl.hpp
class Impl;
class PImpl
{
Impl* pimpl;
PImpl() : pimpl(new Impl) { }
~PImpl() { delete pimpl; }
void DoSomething();
};
PImpl.cpp
#include "PImpl.hpp"
#include "Impl.hpp"
void...
2486 просмотров
schedule
01.09.2022
Каковы плюсы и минусы использования d-указателей?
d-указатели широко используются в Qt, они являются реализацией идиомы pimpl. Я знаю преимущества и недостатки идиомы pimpl. Но я упустил преимущества реализации d-указателей. Здесь и здесь приведены примеры d-указателей. Не проще ли просто...
6847 просмотров
schedule
07.05.2024
Должен ли я использовать shared_ptr или unique_ptr
Я создавал некоторые объекты с помощью идиомы pimpl, но не уверен, следует ли использовать std::shared_ptr или std::unique_ptr .
Я понимаю, что std::unique_ptr более эффективен, но для меня это не такая большая проблема, поскольку эти...
18914 просмотров
schedule
02.03.2023
Идиома Pimpl и совместная работа с внутренними объектами без объявления друга
Я реализую несколько классов, используя идиому pimpl, и сталкиваюсь с некоторыми проблемами дизайна.
Во-первых, я всегда видел, как pimpl делают вот так
class Object
{
public:
Visible();
~Visible();
.. etc ..
private:
class...
3083 просмотров
schedule
28.05.2022
Лучший способ использования непрозрачного указателя для Pimpl
Я пишу библиотеку-оболочку C++ для ряда различных аппаратных библиотек для встраиваемых систем (на уровне прошивки), используя различные библиотеки от разных поставщиков (C или C++). API, предоставляемый файлами заголовков, не должен зависеть от...
461 просмотров
schedule
03.05.2022
Ошибка удаления std::vector в DLL с использованием идиомы PIMPL
У меня есть следующий код:
В DLL1:
в файле .h:
class MyClass
{
public:
MyClass();
private:
std::string m_name;
};
class __declspec(dllexport) Foo
{
private:
struct Impl;
Impl *pimpl;
public:
Foo();
virtual ~Foo();...
833 просмотров
schedule
17.08.2022
Использование PIMPL с синглтонами и auto_ptr
У меня есть синглтон с рядом статических методов и методов экземпляра. Я хотел бы экспортировать его в DLL, чтобы я мог использовать его в другом месте. Однако это вызвало предупреждение компилятора, потому что я не экспортировал закрытые...
323 просмотров
schedule
13.09.2023
Как создать приватную статическую константную строку при использовании идиомы pimpl
Фон
Я изучаю, как реализовать идиому pimpl, используя новый метод c ++ 11, описанный Хербом Саттером на этой странице: https://herbsutter.com/gotw/_100/
Я пытаюсь изменить этот пример, добавив переменную-член в частную реализацию, в частности...
565 просмотров
schedule
18.01.2023
Явный вызов конструктора копирования объекта внутри unique_ptr
Я использую идиому pimpl с const std::unique_ptr для хранения реализации класса. Мой класс должен поддерживать создание копии и назначение копии. Что я хотел бы сделать, так это вручную вызвать конструктор копирования класса impl внутри класса...
531 просмотров
schedule
27.05.2023
Реализация оболочки класса на основе pImpl с использованием функций шаблона с переменным числом аргументов
Резюме
Пишу библиотеку и клиентское приложение. В библиотеке я пытаюсь написать оболочку для другой статически связанной сторонней библиотеки (в частности, spdlog ) и пытаюсь использовать идиому pImpl, чтобы полностью скрыть его от клиентского...
869 просмотров
schedule
31.05.2023