Bonjour tous.
Je me pose une question existentielle très bête. Comment faire pour surcharger correctement l'opérateur &&. Par correctement, j'entends que dans l'opération a && b, b ne sera évalué que si a.
J'ai bien tenté d'écrire :
mais voila, ce qui me gène c'est que :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
A() est tout de même appelé, alors que si je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6A a; a.x = 0; A b; bool c = a && A(); // ligne qui me pose un problème return 0;
A() n'est plus appelé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
4
5
6A a; a.x = 0; A b; bool c = (bool)a && A(); // ligne qui me pose problème return 0;
Existe-t-il un moyen d'écrire la surcharge de l'opérateur && afin de garder le comportement standard du langage (ne pas évaluer l'opérande droite s'il n'y en a pas besoin) ?

 

 
		
		 
         
 

 
			
			


 
  
 
 
			 
   


 [Question existentielle] Surcharge de l'opérateur &&
 [Question existentielle] Surcharge de l'opérateur &&
				 Répondre avec citation
  Répondre avec citation 
			 
  
 
 Envoyé par white_tentacle
 Envoyé par white_tentacle
					

 
			
Partager