Orden de almacenamiento dentro de una estructura / objeto

Considere estos dos casos:

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);

Lo essiempre seguro para hacer esto?

Quiero saber si el estándar especifica algún orden de almacenamiento entre:

Los elementos dentro de una estructura en C.Miembros de datos dentro de un objeto de una clase de C ++.

Respuestas a la pregunta(4)

Su respuesta a la pregunta