Une reflexion à propos de la question posée précédemment sur
l'incidence de la supression d'un private dans un source.
La question d'origine était : Est-ce que le fait de supprimer
un ou plusieurs "private" peut modifier le comportement du programme ?
Dans le cas en question, sans doute pas, mais il est des cas...
Par exemple en modifiant le type d"héritage.
La plupart des compilateurs utilisent l'EBO ( Empty Base Optimization ), et
il
s'avère que dans le cas d'un héritage privé d'une classe vide :
class Nutshell { };
, l'EBO peut s'effectuer. Donc, dans la pratique, la taille du code généré
peut varier
selon le type d'héritage ( ...d'une classe vide ).
En résumé,
class A : private Nutshell
{
private:
int Value;
};
peut avoir une taille différente de :
class A : public Nutshell
{
private:
int Value;
};
Si le code effectue des tests sur la taille de la classe :
if( sizeof( A ) > otherclass ) ... //
cela peut modifier le comportement du programme à l'execution !
Je sais, c'est tordu ;-)
Et d'ailleurs, mon raisonnement est-il correct ?
--
-Stan
Téléchargements
-
BitDefender Small Office Security
BitDefender Small Office Security est une solution destinée à la protection des petites et moyennes entreprises face aux menaces du Web, que ce ...
-
VDownloader
VDownloader est un outil qui permet de récupérer les vidéos des principales plates-formes en ligne telles que YouTube ou Dailymotion.
-
Comparer des nombres
Comparer des nombres est un logiciel éducatif qui, comme son nom l'indique, permet d'entraîner l'enfant à la comparaison des nombres.
Tous les téléchargements