Порядок хранения внутри конструкции/объекта

Рассмотрим эти два случая:

struct customType
{
   dataType1 var1; 
   dataType2 var2;
   dataType3 var3;
} ;

customType instance1;
// Assume var1, var2 and var3 were initialized to some valid values.

customType * instance2 = &instance1;    
dataType1 firstMemberInsideStruct = (dataType1)(*instance2);

class CustomType
{
   public:
       dataType1 member1;
       dataType2 member2;

       retrunType1 memberFunction1();

   private:
       dataType3 member3;
       dataType4 member4;

       retrunType2 memberFunction2();
};

customType object;
// Assume member1, member2, member3 and member4 were initialized to some valid values.

customType *pointerToAnObject = &object ;
dataType1 firstMemberInTheObject = (dataType1) (*pointerToAnObject);

Всегда ли это безопасно?

Я хочу знать, определяет ли стандарт какой-либо порядок хранения среди-

  1. Элементы внутри структуры C.
  2. Элементы данных внутри объекта класса C++.
5
задан Amit Tomar 5 July 2012 в 07:52
поделиться