Maison >développement back-end >C++ >Quand les références `const Foo&&` Rvalue sont-elles utiles en C ?

Quand les références `const Foo&&` Rvalue sont-elles utiles en C ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-11 10:39:151022parcourir

When Are `const Foo&&` Rvalue References Useful in C  ?

Références Const Rvalue : une perspective pratique

En C , on pourrait remettre en question l'utilité des références rvalue aux objets const. Pour approfondir ce sujet, analysons la question : « Existe-t-il des scénarios dans lesquels const Foo& & peut être avantageux, en supposant que Foo est un type de classe ? »

Étonnamment, les références const rvalue offrent des avantages distincts. Le brouillon C 0x lui-même illustre leur utilisation dans le code suivant :

template <class T> void ref(const T& &) = delete;
template <class T> void cref(const T& &) = delete;

Ces surcharges empêchent efficacement d'autres fonctions, telles que ref(T&) ou cref(const T&), de se lier aux objets rvalue. Cela garantit le comportement prévu de ces fonctions.

Dans le document standard officiel N3290, qui n'est pas accessible au public, le même code est présent à la section 20.8 :

template <class T> void ref(const T& &) = delete;
template <class T> void cref(const T& &) = delete;

De plus, dans le Dans la version la plus récente, N3485, ces surcharges de référence de valeur constante sont toujours présentes dans la section 20.8, soulignant leur continuité. pertinence.

Ainsi, même si l'on pourrait initialement supposer que les références const rvalue manquent d'utilité, leurs applications pratiques au sein de la norme C et dans d'autres contextes soulignent leur importance.

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