关于 C++中 定义函数造成影响 的思考

在编写大型程序的时候,常常要定义函数以使主函数简洁且清晰。然而我们一定要明细这样的函数所产生的影响。

试验程序

#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;
}

输出结果

Output

结论

  • 全局变量在函数中被改变就真的变了
  • 局部变量只是相当于赋个值,在函数里变了,出来就不再有效
  • 除非是个引用(reference),这样才会造成影响。(而数组不能有reference,这就很烦。而且数组既不能判断相等,又不能一个数组给另一个数组赋值,真的烦。所以相比之下喜欢用vector)

See also

Teddy van Jerry 的导航页

猜你喜欢

转载自blog.csdn.net/weixin_50012998/article/details/108413059