Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/136.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何安全地导出c++;DLL中的数据结构?_C++_Dll - Fatal编程技术网

C++ 如何安全地导出c++;DLL中的数据结构?

C++ 如何安全地导出c++;DLL中的数据结构?,c++,dll,C++,Dll,我正在使用一个小疙瘩习惯用法为客户端提供一个访问我的DLL的访问点,并隐藏小部件的所有实现细节 class MYCLASS_API MyClass { public: MyClass(ClassData &data); ~MyClass(); void Function1(); void Function2(); private: Widget *p_impl; }; 我需要将非平凡的数据传递到DLL(我会经常使用STL容器,但我知道这是不推荐的),因此我提供了

我正在使用一个小疙瘩习惯用法为客户端提供一个访问我的DLL的访问点,并隐藏
小部件
的所有实现细节

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

  void Function1();
  void Function2();

private:
  Widget *p_impl;
};
我需要将非平凡的数据传递到DLL(我会经常使用STL容器,但我知道这是不推荐的),因此我提供了
ClassData
结构供客户端使用

这是合理的做法吗?如果是这样,我应该如何设计
ClassData
?既然不应该使用STL容器,那么使用原始指针是可行的解决方案吗