Maison >développement back-end >C++ >Quand le retour d'une valeur Const en C est-il réellement bénéfique ?
Quand le retour d'une valeur Const peut-il être bénéfique ?
L'article 3 de Effective C préconise le retour des valeurs sous forme de const dans certains cas. Cependant, cette pratique a soulevé des questions quant à son utilité et ses inconvénients potentiels.
Dans l'exemple spécifique fourni :
const Object myFunc() { return myObject; }
L'utilisation de const restreint l'utilisation de la valeur renvoyée car elle vous empêche d'effectuer certaines opérations sur des objets const sans nom, telles que des expressions arithmétiques.
Le but du retour par valeur const était principalement d'éviter que des booléens involontaires conversions de la valeur de retour. Cependant, en C moderne, l'utilisation du mot-clé explicite est recommandée à cet effet.
De plus, dans les scénarios où des opérations non const pourraient être effectuées sur l'objet renvoyé, le retour par la valeur const empêche les appels accidentels à un tel opérations sur des objets créés temporairement. Par exemple :
(a + b).expensive();
Cependant, en C 11 et supérieur, il est fortement conseillé de renvoyer des valeurs non constantes pour profiter des références rvalue, qui ne fonctionnent qu'avec des rvalues non constantes.
Par conséquent, même s'il existait autrefois une justification pour le retour par valeur const, elle est largement devenue obsolète dans le C moderne. En résumé, à moins qu'il n'y ait des considérations de performances spécifiques ou pour éviter des conversions booléennes involontaires (qui peuvent désormais être gérées avec explicite), renvoyer des valeurs par valeur const n'est généralement pas considéré comme préférable.
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!