Concept de valeur de retour, de référence à la valeur et de référence Const en C++

Muhammad Adil 30 janvier 2023
  1. Valeur renvoyée en C++
  2. Référence à la valeur en C++
  3. Const Référence à la valeur en C++
Concept de valeur de retour, de référence à la valeur et de référence Const en C++

Cet article traite du retour d’une valeur, d’une référence à une valeur et d’une référence const en C++.

Valeur renvoyée en C++

Lorsque vous renvoyez quelque chose par valeur, vous renvoyez une copie de l’objet. Cela impose des contraintes à la classe.

Par conséquent, il peut être coûteux de renvoyer un objet par valeur pour certains types d’objets. Cela implique également que le nouvel objet est indépendant des autres objets et a une valeur.

De nombreux opérateurs binaires, tels que +, - et *, devraient très probablement renvoyer cette valeur.

Référence à la valeur en C++

En C++, une référence est un objet qui contient l’adresse d’un autre objet. Cette référence à la valeur se produit lorsqu’une variable est déclarée avec le type “référence au type”.

Une référence à une valeur peut être convertie en une valeur à l’aide de l’opérateur &.

Const Référence à la valeur en C++

Une variable const est initialisée avec une valeur. Cela signifie qu’il ne peut pas être modifié ultérieurement.

Une variable const peut être initialisée avec n’importe quel type, y compris une autre variable const ou une expression constante. L’initialisation se fait généralement dans la déclaration, mais elle peut aussi se faire dans le corps de la fonction, tant que c’est avant la première utilisation de la variable.

En bref, vous ne pouvez pas modifier un objet alias. Lorsque l’objet à renvoyer est coûteux à copier et que vous pouvez garantir son existence après le retour d’une fonction, vous pouvez utiliser cette technique au lieu de renvoyer par valeur.

C’est ce que operator= renvoie généralement pour prendre en charge plusieurs affectations contrairement aux types standard.

Muhammad Adil avatar Muhammad Adil avatar

Muhammad Adil is a seasoned programmer and writer who has experience in various fields. He has been programming for over 5 years and have always loved the thrill of solving complex problems. He has skilled in PHP, Python, C++, Java, JavaScript, Ruby on Rails, AngularJS, ReactJS, HTML5 and CSS3. He enjoys putting his experience and knowledge into words.

Facebook

Article connexe - C++ Reference