Je travaille sur le code de quelqu'un d'autre en C++, et j'ai trouvé un appel bizarre à une certaine fonction. func()
. Voici un exemple :
if(condition)
func();
else
(*this).func();
Quelle est la différence entre func()
y (*this).func()
?
Quels sont les cas où l'appel à func()
y (*this).func()
exécutera un code différent ?
Dans mon cas, func()
n'est pas une macro. C'est une fonction virtuelle dans la classe de base, avec une implémentation à la fois dans la classe de base et dans la classe dérivée, et pas de fonction libre. func()
. Le site if
se trouve dans une méthode de la classe de base.