La Structure d'un Objet C++ dans la Mémoire Vs une Struct

Si j'ai une classe comme suit

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

Et une structure comme suit

struct
{
   int x;
   int y;
} example_struct;

Est la structure dans la mémoire de la example_struct simmilar pour que, dans Example_Class

par exemple, si je ne les suivants

struct example_struct foo_struct;
Example_Class foo_class = Example_Class();

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

sera foo_struct.x = 8 et foo_struct.y = 9 (ie: les mêmes valeurs que les valeurs x,y dans le foo_class) ?

La raison pour laquelle je demande c'est que j'ai une bibliothèque C++ (ne veux pas le changer) c'est le partage d'un objet avec du code C et je veux utiliser une structure pour représenter l'objet en provenance de la bibliothèque C++. Je suis seulement intéressé par les attributs de l'objet.

Je sais que la situation idéale serait d'avoir Example_class enrouler autour d'une structure commune entre le code C et C++, mais il ne va pas être facile de changer le C++ de la bibliothèque en cours d'utilisation.

  • Juste un commentaire mineur, votre constructeur pourrait (et certains disent devrait) être écrit comme ceci: Example_Class() : x(8), y(9) {}
InformationsquelleAutor hhafez | 2009-01-08