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