相关疑难解决方法(0)

内存中C++对象的结构与结构

如果我有一个课程如下

   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 = 8foo_struct.y = 9(即:与foo_class中的x,y值相同的值)?

我问的原因是我有一个C++库(不想改变它),它与C代码共享一个对象,我想用一个结构来表示来自C++库的对象.我只对对象的属性感兴趣.

我知道理想的情况是将Example_class包装在C和C++代码之间的公共结构中,但是更改正在使用的C++库并不容易.

c++ struct

46
推荐指数
3
解决办法
3万
查看次数

标签 统计

c++ ×1

struct ×1