Maison > Article > développement back-end > L'idiome Safe-Bool est-il toujours nécessaire en C 11 ?
En C 11, la nécessité de l'idiome Safe-bool a été rendue obsolète par l'introduction de l'opérateur explicite bool () const. Selon le standard C Section 4 [conv] p3 :
Une expression e peut être implicitement convertie en un type T si et seulement si la déclaration T t=e ; est bien formé [...]
Cela signifie qu'une expression peut être convertie contextuellement en bool si la déclaration bool t(e); est bien formé.
Certaines constructions de langage nécessitent de telles conversions implicites, notamment :
Ainsi, avec la disponibilité d'opérateurs de conversion explicites, il devient inutile de recourir à des implémentations alambiquées de Safe-bool. Cela simplifie et clarifie considérablement le code, car les conversions explicites fournissent des conversions de type claires et intentionnelles par rapport aux mécanismes implicites de l'idiome safe-bool.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!