Struktur eines C ++ Objekts im Speicher gegen ein Struct

Wenn ich eine Klasse wie folgt

   class Example_Class 
   {
       private:
         int x; 
         int y; 
       public: 
         Example_Class() 
         { 
             x = 8;
             y = 9;
         }
       ~Example_Class() 
       { } 
   };

Und eine Struktur, die wie folgt

struct
{
   int x;
   int y;
} example_struct;

Ist die Struktur im Speicher des example_struct anderes in Example_Class

zum Beispiel, wenn ich den folgenden

struct example_struct foo_struct;
Example_Class foo_class = Example_Class();

memcpy(&foo_struct, &foo_class, sizeof(foo_struct));

wird foo_struct.x = 8 und foo_struct.y = 9 (sprich: die gleichen Werte wie die x -, die y-Werte in die foo_class) ?

Der Grund warum ich Frage ist, ich habe eine C++ - Bibliothek (die nicht wollen, um es zu ändern), dass "sharing" ein Objekt mit C-code und ich will eine struct zur Darstellung des Objekts aus der C++ Bibliothek. Ich bin nur daran interessiert, die Attribute des Objekts.

Ich weiß, die ideale situation wäre, haben Example_class wrap arround eine gemeinsame Struktur zwischen der C-und C++ - code, aber es wird nicht leicht sein, ändern Sie die C++ - Bibliothek im Einsatz.

InformationsquelleAutor der Frage hhafez | 2009-01-08

Schreibe einen Kommentar