gpt4 book ai didi

c - 在函数内部修改参数 'passed by value' 并将它们用作局部变量

转载 作者:太空狗 更新时间:2023-10-29 16:44:35 24 4
gpt4 key购买 nike

我见过一些代码,其中按值传递给函数的参数被修改或分配了一个新值,并且像局部变量一样使用。

这是一件好事吗?这样做有什么陷阱吗?或者像这样编写代码是否可以?

最佳答案

从本质上讲,函数的参数是一个局部变量,所以这种做法在原则上是不错的。

另一方面,这样做会导致维护问题。如果稍后出现另一个程序员,他可能希望变量保存传入的值,而更改将导致错误。

重用变量的一个理由是内存使用效率的错误概念。实际上,它不能提高效率,反而会降低效率。原因是编译器可以自动检测在两个不同的时间对两个不同的变量使用同一个寄存器是否有用,如果更好就会这样做。但是程序员不应该为编译器做出那个决定。这将限制编译器可以做出的选择。

最安全的做法是在需要新值时使用新变量,并依靠编译器使其高效。

关于c - 在函数内部修改参数 'passed by value' 并将它们用作局部变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2108804/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com