Produit du jour : Microsoft Office 2007 Famille et étudiant à partir de 74.00 € (Logiciel)
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
mots-clés : supression, private Catégories : Développement, Langage C++
 
exit vs return
heritage et template
 

 

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