Selon les règles strictes d'aliasing:char * conversion et règles aliasing
struct B { virtual ~B() {} };
struct D : public B { };
D d;
char *c = reinterpret_cast<char*>(&d);
A char*
à tout objet de type différent est valide. Mais maintenant la question est, pointera-t-elle à la même adresse de & d? quelle est la garantie faite par C++ Standard qu'il retournera la même adresse?
Je pense que votre destructeur est mal nommé –
Je ne connais pas la réponse. Mais, quand cette connaissance serait-elle jamais utile dans la pratique? –
Bonne question. Certaines conversions peuvent en fait changer l'adresse (par exemple lorsque l'héritage multiple est impliqué).Je me demande si c'est le cas. – Kos