Lors de l'écriture de gros programmes, les fonctions sont souvent définies pour rendre la fonction principale concise et claire. Cependant, il faut détailler l'impact d'une telle fonction.
Procédure de test
#include <iostream>
using namespace std;
int a = 2;
void func(int n, int& m)
{
a = 3;
n++;
m++;
}
int main()
{
int b = 1;
int c = 5;
func(b, c);
cout << a << " " << b << " " << c << endl;
return 0;
}
Résultat de sortie
en conclusion
- Si la variable globale est modifiée dans la fonction, elle change vraiment
- Les variables locales sont simplement équivalentes à l'attribution d'une valeur. Si elles changent dans la fonction, elles ne seront plus valides.
- À moins qu'il ne s'agisse d'une référence, cela aura un impact. (Et le tableau ne peut pas avoir de référence, ce qui est très ennuyeux. De plus, le tableau ne peut ni être jugé égal, ni un tableau ne peut être attribué à un autre tableau, ce qui est vraiment ennuyeux. Donc j'aime utiliser un vecteur en comparaison)