Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Arguments de Fonction Constants | Spécification des Arguments de Fonction
Fonctions C++

bookArguments de Fonction Constants

En C++, les arguments constants dans une fonction indiquent que les valeurs passées à la fonction en tant que paramètres ne peuvent pas être modifiées à l'intérieur de la fonction. Pour déclarer un argument constant, il faut utiliser le mot-clé const avant le spécificateur de type de l'argument dans la signature de la fonction :

Examinons maintenant la différence entre l'utilisation de const avec le passage par valeur et le passage par pointeur/référence des arguments.

Passage d'arguments const par valeur

Lorsqu'un paramètre est passé par valeur et déclaré comme const, cela signifie qu'une copie de la valeur est effectuée, et la fonction ne peut pas modifier cette copie.
Dans ce cas, le qualificateur const sert de documentation, indiquant aux autres développeurs que la fonction ne modifie pas le paramètre :

example.h

example.h

copy
1234
double calculateSquare(const double number) { return number * number; }

Le qualificateur const garantit que le paramètre number ne peut pas être modifié à l'intérieur de la fonction calculateSquare(), assurant ainsi l'intégrité des données copiées.

Passage d'arguments const par pointeur/référence

L'utilisation de constantes avec des pointeurs ou des références garantit la préservation des données d'origine, contrairement au passage des arguments par valeur. Bien que l'optimisation de la mémoire nécessite souvent le passage des paramètres par pointeur ou par référence, il devient essentiel de maintenir l’intégrité des données d'origine au sein de la fonction.

main.cpp

main.cpp

copy
12345678910111213141516171819
#include <iostream> // Function definition double calculateArea(const double* radiusPtr, const double& pi) { // Check if the pointer and reference are not null if (*radiusPtr > 0) return pi * (*radiusPtr) * (*radiusPtr); else return 0; // Invalid radius, return 0 } int main() { double radius = 5.0; double pi = 3.14159; double area = calculateArea(&radius, pi); std::cout << "Area of the circle with radius " << radius << " is: " << area << std::endl; }
question mark

Laquelle des signatures de fonction suivantes indique une référence constante à un paramètre entier ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 3

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Suggested prompts:

Can you show an example of using const with pointers and references?

What are the benefits of using const with pointers or references in C++?

How does const affect function parameters passed by pointer or reference?

Awesome!

Completion rate improved to 5

bookArguments de Fonction Constants

Glissez pour afficher le menu

En C++, les arguments constants dans une fonction indiquent que les valeurs passées à la fonction en tant que paramètres ne peuvent pas être modifiées à l'intérieur de la fonction. Pour déclarer un argument constant, il faut utiliser le mot-clé const avant le spécificateur de type de l'argument dans la signature de la fonction :

Examinons maintenant la différence entre l'utilisation de const avec le passage par valeur et le passage par pointeur/référence des arguments.

Passage d'arguments const par valeur

Lorsqu'un paramètre est passé par valeur et déclaré comme const, cela signifie qu'une copie de la valeur est effectuée, et la fonction ne peut pas modifier cette copie.
Dans ce cas, le qualificateur const sert de documentation, indiquant aux autres développeurs que la fonction ne modifie pas le paramètre :

example.h

example.h

copy
1234
double calculateSquare(const double number) { return number * number; }

Le qualificateur const garantit que le paramètre number ne peut pas être modifié à l'intérieur de la fonction calculateSquare(), assurant ainsi l'intégrité des données copiées.

Passage d'arguments const par pointeur/référence

L'utilisation de constantes avec des pointeurs ou des références garantit la préservation des données d'origine, contrairement au passage des arguments par valeur. Bien que l'optimisation de la mémoire nécessite souvent le passage des paramètres par pointeur ou par référence, il devient essentiel de maintenir l’intégrité des données d'origine au sein de la fonction.

main.cpp

main.cpp

copy
12345678910111213141516171819
#include <iostream> // Function definition double calculateArea(const double* radiusPtr, const double& pi) { // Check if the pointer and reference are not null if (*radiusPtr > 0) return pi * (*radiusPtr) * (*radiusPtr); else return 0; // Invalid radius, return 0 } int main() { double radius = 5.0; double pi = 3.14159; double area = calculateArea(&radius, pi); std::cout << "Area of the circle with radius " << radius << " is: " << area << std::endl; }
question mark

Laquelle des signatures de fonction suivantes indique une référence constante à un paramètre entier ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 3
some-alt