如果我有如下课程
class Example_Class
{
private:
int x;
int y;
public:
Example_Class()
{
x = 8;
y = 9;
}
~Example_Class()
{ }
};
结构如下
struct
{
int x;
int y;
} example_struct;
记忆中的结构 example_struct
与Example_Class
例如,如果我执行以下操作
struct example_struct foo_struct;
Example_Class foo_class = Example_Class();
memcpy(&foo_struct, &foo_class, sizeof(foo_struct));
将foo_struct.x = 8
和foo_struct.y = 9
(即:与 foo_class 中的 x,y 值相同的值)?
我问的原因是我有一个 C++ 库(不想更改它),它与 C 代码共享一个对象,我想使用一个结构来表示来自 C++ 库的对象。我只对对象的属性感兴趣。
我知道理想的情况是让 Example_class 围绕 C 和 C++ 代码之间的公共结构进行包装,但要更改正在使用的 C++ 库并不容易。