0

如,有人告诉我,最好将某个变量保留在方法中,而不是在类范围内使用它。但为什么会这样呢?

4

1 回答 1

0

我认为这个想法是:

1 个变量用于 1 次使用。不要做

int i=0;
//some code using i

//some other code not using i

//a new code using i because you just need an int and i is already there

您可以或声明一个新变量,甚至声明 2 个嵌套范围。为什么 ?因为如果您忘记为第二次使用重新初始化变量,那么您就有问题了。

每次使用也有 1 个变量通常更好地为变量命名,而不是像:i、counter、value、tmp 这样的名称。首选可以使您的代码更具可读性的特定名称。

此外,如果您仅在一个小范围内使用变量,则在您使用它时只会在堆栈上动态占用一些内存。如果你把它放在一个有很多变量的非常大的范围内,你将在调试器中有更多的局部变量(更难调试),你将使用内存比你真正​​需要的寿命更长(这对小变量,但可能对大变量不利,例如 STL 容器和其他东西。通常,将这种编码风格应用于任何类型的变量,即使是很小的变量,也可以帮助您处理大变量)

在您的消息中,您谈到将变量作为对象成员,而不仅仅是函数中的局部变量。同样,这会使您的对象更大,可能有部分代码未使用或未初始化此变量。

所有这些都是风格,但可以帮助您减少错误。每次使用时,您应该只有 1 个变量,只有在您使用它并在创建变量后立即对其进行初始化时。

google cpp 关于局部变量范围的指南

于 2012-11-14T19:46:16.640 回答