Maison > développement back-end > C++ > Les références Const Rvalue ont-elles une utilité pratique en C ?

Les références Const Rvalue ont-elles une utilité pratique en C ?

Mary-Kate Olsen
Libérer: 2024-12-23 18:16:13
original
430 Les gens l'ont consulté

Do Const Rvalue References Have Any Practical Use in C  ?

Références Const Rvalue : un concept rare mais utile

La question de savoir si les références rvalue à const (const Foo&&) ont une utilité pratique a a intrigué certains programmeurs. Il semblerait intuitif que ce ne soit pas le cas, mais approfondissons ce sujet et explorons les applications potentielles.

Selon le projet C 0x, les références const rvalue peuvent être bénéfiques dans certains scénarios. Par exemple, dans l'extrait de code suivant utilisé par le brouillon lui-même :

template <class T> void ref(const T&&) = delete;
template <class T> void cref(const T&&) = delete;
Copier après la connexion
Copier après la connexion

Ces surcharges garantissent que les autres fonctions ref(T&) et cref(const T&) ne se lient pas aux rvalues, empêchant ainsi un comportement inattendu.

En vérifiant la norme officielle C 11 (N3290), les mêmes déclarations se retrouvent dans la section 20.8 Objets fonction [function.objects]/p2 :

template <class T> void ref(const T&&) = delete;
template <class T> void cref(const T&&) = delete;
Copier après la connexion
Copier après la connexion

Le dernier projet post-C 11 accessible au public (N3485) inclut également ces déclarations dans la même section. Ces exemples démontrent que les références const rvalue ont été jugées suffisamment utiles pour être incluses dans le standard du langage C. Bien que leurs cas d'utilisation puissent être spécifiques, ils constituent une construction précieuse pour certaines situations de programmation.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal