Bonjour,
Dans différente bibliothèque Boost, je trouve la définition suivante (ou quelque chose d'équivalent) pour un opérateur évaluant en bool:
Pourquoi passer par ce genre de type interne en lieu et place d'une surcharge de l'opérateur bool:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 class ClasseBoost { protected/private: typedef void (ClasseBoost::*safe_bool)(); void dummy(); public: operator safe_bool() const { if(vrai){ return &ClasseBoost::dummy; } else{ return 0; } } };
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 class ClasseBoost { public: operator bool() const { ...} }
Partager