gpt4 book ai didi

variables - 在单个函数中回收变量名

转载 作者:行者123 更新时间:2023-12-02 06:43:43 24 4
gpt4 key购买 nike

我有一个包含两个 for 循环的函数,我使用一个名为 count 的变量作为计数器。我选择回收该名称,因为第一个循环将在第二个循环开始之前完全完成它的执行,因此计数器之间没有相互干扰的机会。 G++ 编译器通过以下警告对此进行了异常(exception)处理:

error: name lookup of ‘count’ changed for ISO ‘for’ scoping
note: (if you use ‘-fpermissive’ G++ will accept your code)

变量回收被认为是专业软件开发中的不良做法,还是一种情境问题,我在这里遗漏了哪些其他含义?

最佳答案

你在做这个吗?

for(int count = 0; ...)
{
...
}

for(count = 0; ...)
{
...
}

我怀疑 gcc 会喜欢这样,因为第二个 count 不在范围内。我认为它只适用于第一个 for 循环,但是 gcc 有接受糟糕代码的选项。如果您使第二个 int count 或将第一个移动到外部作用域,gcc 应该会很高兴。

这个要视情况而定,不过我一般不会复用变量。变量的名称应该反射(reflect)它的用途,并且在函数中切换部分方式可能会造成混淆。声明您需要的内容,让编译器负责优化。

关于variables - 在单个函数中回收变量名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3951007/

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