如果不用全局变量 那怎么在一个y=f(x)的函数调用里面,对x这个变量改变值呢? 大家用指针吗? x = 5; y=f(x); 希望x能变成-100 y = f(z) { z = -100; } miked 发表于 2023-11-29 23:39
原来大家都不喜欢。那我就放心了。接了前辈的code,里面几个全局变量快把我弄死了,我直接改了。。。 Cath226 发表于 2023-11-29 23:35
做法一般是 x=5 y=f(x){ // 省略n步计算 return -100; } x = f(x) minqidev 发表于 2023-11-29 23:41
但是如果f这个函数还有更重要的值y需要输出,怎么办? miked 发表于 2023-11-29 23:45
是不是更方便,因为不需要从函数里传递进去,再传递出来。
Hard to read, difficult to secure, arduous to debug, against all OO principles, mutate almost randomly, and impossible to unit test.
不,难维护。
大家用指针吗?
x = 5; y=f(x); 希望x能变成-100
y = f(z) { z = -100; }
做法一般是
x=5
y=f(x){ // 省略n步计算 return -100; }
x = f(x)
你怎么改的。而不影响结果?
但是如果f这个函数还有更重要的值y需要输出,怎么办?
还有一个问题。
如果x=f(x) 需要重复运行10万次。 i=0 while(i > 1e5){ x=f(x) i = i + 1 }
这个时候是把x设成全局变量节省计算时间;还是用你说的这个函数返回节省计算时间?
用指针