Réflexions sur l'influence de la définition de fonctions en C ++

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

Production

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)

Voir également

Page de navigation de Teddy van Jerry

Je suppose que tu aimes

Origine blog.csdn.net/weixin_50012998/article/details/108413059
conseillé
Classement