Maison >développement back-end >C++ >Devriez-vous renvoyer les valeurs « const » en C ?

Devriez-vous renvoyer les valeurs « const » en C ?

DDD
DDDoriginal
2024-12-13 05:00:161024parcourir

Should You Return `const` Values in C  ?

Pourquoi utiliser les retours de valeur Const ?

Problème :

Considérez l'extrait de code suivant :

const Object myFunc() {
    return myObject;
}

Quel est le but du mot-clé const ici ? Bien que l'Effective C Item 3 préconise son utilisation, les opinions varient.

Réponse :

Dans le rare scénario où une opération non const sur un objet pourrait être effectuée avant affectation, un retour de valeur const empêche l'invocation accidentelle d'une telle opération de manière temporaire.

Cependant, cette pratique est devenue obsolète. Dans C 11 et versions ultérieures, il est fortement recommandé de renvoyer des valeurs non constantes pour utiliser pleinement les références rvalue, qui ne sont valables que pour les valeurs r non constantes.

En substance, même si des raisons existaient pour utiliser les retours de valeurs const, ils ne sont plus convaincants en C moderne.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn