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++
course content

Contenu du cours

Fonctions C++

Fonctions C++

1. Introduction
2. Spécification des Arguments de Fonction
3. Spécification des Valeurs de Retour de Fonction
4. Quelques Sujets Avancés

book
Arguments de Fonction Constants

En C++, les arguments constants d'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, nous devons 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 des arguments passés par valeur et par pointeur/référence.

Passage par valeur d'arguments const

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:

h

example

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

Le qualificateur const garantit que le paramètre number ne peut pas être modifié dans la fonction calculateSquare(), et nous pouvons être sûrs de l'intégrité des données copiées.

Passer des arguments constants par pointeur/référence

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

cpp

main

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; }
Laquelle des signatures de fonction suivantes indique une référence constante à un paramètre entier?

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

Sélectionnez la réponse correcte

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 2. Chapitre 3
We're sorry to hear that something went wrong. What happened?
some-alt