Cref C ++

Cref C ++

C ++ est un langage de programmation élevé qui est le plus couramment utilisé pour le développement de jeux et le développement du système d'exploitation. Il fournit des fonctions intégrées utiles qui facilitent la programmation en C ++. Ces fonctions intégrées vous permettent de créer une application simple ou complexe avec facilité. L'utilisateur peut effectuer d'énormes fonctions simplement en incluant la fonction intégrée du programme. Cet article vous aidera à apprendre le fonctionnement de la fonction intégrée Cref () de C++. Ici, nous définirons la fonction du Cref () et vous aiderons à comprendre son travail en démontrant quelques exemples utiles.

Qu'est-ce que la fonction Cref () C ++?

Le Cref () est une fonction intégrée du langage de programmation C ++ fourni dans la bibliothèque standard de référence_wrapper. Il s'agit d'une fonction d'assistance qui utilise la déduction d'argument du modèle pour générer un objet de type de référence_wrapper tout en déterminant l'argument du modèle du résultat.

En mots simples, la fonction Cref () est utilisée pour créer un wrapper de référence. Le wrapper de référence est une méthode pour transmettre la référence d'un argument à une fonction au lieu de la valeur réelle. Lorsque le contrôle est à l'intérieur de la fonction, la référence du paramètre est utilisée pour accéder à la valeur réelle, n'apportant aucune modification à la valeur d'origine mais à la valeur de référence. Ceci est utile lorsque l'utilisateur ne souhaite pas modifier la valeur d'origine mais doit les utiliser pour d'autres calculs.

Syntaxe de Cref () C ++ Fonction:

La syntaxe appropriée de la fonction Cref () est la suivante:

La fonction Cref () prend un argument comme entrée qui doit être enveloppé et renvoie l'objet de wrapper de référence pour maintenir l'élément «Paramètre const». Maintenant, explorons quelques exemples pour mieux comprendre le fonctionnement de la fonction cref (). En suivant les exemples utiles donnés, vous pouvez apprendre à implémenter la fonction CREF () dans vos programmes et développer de bonnes applications.

Exemple 1:

Ce premier exemple de l'article Cref () définit l'utilisation de base de la fonction CREF () dans le langage de programmation C ++. Voir le code suivant et comprendre le fonctionnement de chaque ligne étape par étape.

La première ligne comprend la bibliothèque «ioStream» du programme afin que le programme puisse utiliser la fonctionnalité de sortie d'entrée standard du langage de programmation C ++. La bibliothèque standard «iOStream» vous permet d'utiliser la CIN, le COUT et d'autres fonctions pour rendre votre programme utilisable. Le fichier d'en-tête «fonctionnel» fait partie de la bibliothèque standard fournie par le langage de programmation C ++. Il offre un ensemble prédéfini de modèles de classe pour remplir plusieurs fonctions. Il comprend la création de la logique, la réalisation de comparaisons, différentes opérations arithmétiques, etc. Le programme commence par la fonction principale (). Le code complet est écrit dans la fonction principale ().

La première ligne de code dans la fonction principale () est «int ref (9)». Il appelle la fonction «ref» et passe «9» comme paramètre à la fonction «ref». Après cela, le «Auto Ren = Std :: Cref (Ref);» est défini. Cette ligne crée un emballage de référence du «Ref». Le «Ref ++» en ajoute 1 dans le paramètre donné qui est 9. Ainsi, le «Ref ++» devient 10. La valeur calculée est transmise à l'instruction COUT afin qu'elle puisse être imprimée. L'instruction RETOUR 0 s'assure que la sortie est renvoyée avec succès. S'il y a une erreur, le retour 0 augmente l'exception.

Pour compiler et exécuter le programme, vous devez appuyer sur «Compiler & Exécuter» sur la barre des tâches. Ou vous pouvez simplement appuyer sur la touche de fonction «F11» sur le clavier. Découvrez la sortie donnée dans ce qui suit:

Comme vous pouvez le voir, la sortie est 10, ce qui est exactement ce que nous avons calculé manuellement.

Exemple 2:

Cet exemple montre l'exception soulevée par le compilateur lorsque l'utilisateur souhaite apporter des modifications directes à la valeur de référence d'origine. Vous pouvez trouver le code pour votre compréhension dans l'illustration suivante.

La fonction utilise les mêmes bibliothèques que celles utilisées dans l'exemple précédent. La fonction «void f (const int & n)» est définie au début du programme. Il prend l'entrée de la fonction principale et essaie de le manipuler. L'instruction COUT imprime la valeur lorsque le contrôle est dans la fonction.

L'instruction «N ++» incréments n avec 1. Dans la fonction principale, «n» est initialisé avec 1. La "std :: function bound_f = std :: bind (f, std :: cref (n));" La déclaration est utilisée pour lier la fonction «F» avec la valeur de wrapper de référence. Les deux instructions COUT sont utilisées pour imprimer les valeurs lorsque le contrôle est dans la fonction principale. La première instruction COUT imprime la valeur avant d'appeler la fonction enfant. La deuxième instruction COUT imprime la valeur après avoir appelé la fonction enfant.

Appuyez sur «F11» dans les touches de fonction ou l'icône de compilation sur la barre des tâches pour exécuter le programme.

Voici la sortie produite par le programme:

Lorsque vous exécutez ce code, vous obtiendrez une erreur «Incrément de référence en lecture seule« N »». Cela se produit parce que nous avons passé l'emballage de référence au «const int & n» dans la fonction enfant. Le «const» ne vous permet pas d'apporter des modifications au paramètre de wrapper. Par conséquent, cela augmente une erreur.

Exemple 3:

L'exemple suivant est une version un peu plus complexe du premier exemple. Ici, nous définissons les trois variables et les transmettons à la fonction de l'enfant chacune, différemment. Le premier argument est passé simplement sans créer un emballage de référence. Cependant, les deux autres numéros d'entrée sont fournis après avoir créé l'emballage de référence. Reportez-vous au code donné suivant:

Le reste du programme est le même que ce qui a été donné dans le deuxième exemple. La seule différence est que nous fournissons trois entrées et ne faisons aucune entrée constante. La fonction de liaison lie la fonction enfant avec les paramètres d'entrée. La sortie après l'exécution du programme est la suivante:

Notez que les valeurs avant d'appeler la fonction enfant et lorsque le contrôle est dans la fonction enfant. Cependant, lorsque le contrôle revient à la fonction principale, toutes les valeurs d'entrée sont incrémentées de 1. Cela se produit parce que l'incrément des entrées est calculé dans la fonction enfant et revient à la fonction principale.

Conclusion

Dans ce guide, nous apprenons la fonction CREF () du langage de programmation C ++. La fonction Cref () est utilisée pour calculer l'emballage de référence de l'entrée donnée. À l'aide d'exemples, nous avons appris à implémenter la fonction CREF () dans le programme C ++.