Как безопасно экспортировать структуры данных c ++ из библиотеки DLL? - PullRequest
1 голос
/ 06 августа 2020

Я использую идиому с прыщами, чтобы предоставить клиенту точку доступа к моей DLL и скрыть все детали реализации Widget.

class MYCLASS_API MyClass
{
public:
  MyClass(ClassData &data);
  ~MyClass();

  void Function1();
  void Function2();

private:
  Widget *p_impl;
};

Мне нужно передать нетривиальные данные в DLL (я бы регулярно использовал контейнеры STL, но я знаю, что это не рекомендуется), поэтому я предоставляю структуру ClassData для использования клиентом.

Это разумный подход? Если да, то как мне спроектировать ClassData? Поскольку не следует использовать контейнер STL, будет ли использование сырых указателей жизнеспособным решением?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...