Bonjour tout le monde.
Ma question est simple mais je ne vois pas comment vérifier la réponse, tout est dans les titres mais je la redonne :
Dans l’expression "true == 1", qui compile, est-ce que c’est natif (cast implicite, par exemple) ou y a-t-il une surcharge d’opérateur définie dans la bibliothèque standard ?
J’ai essayé avec un code de test qui affiche le résultat à l’écran, donc avec un #include <iostream>
, puis j’ai essayé avec le code le plus simple possible (sans include) :
1 2 3 4 | int main() { true == 1; return 0; } |
Bien sûr, j’ai eu un warning "statement has no effect", mais ça a bien compilé. J’en déduis que c’est "natif", mais est-ce vraiment "natif" ou est-ce un cast implicite ?
Je vous rassure, oui je m’ennuie xD
+0
-0