Perl 自动初始化变量 https://stackoverflow.com/questions/260703/when-does-perl-auto-initialize-variables to undef
默认情况下。
有没有办法覆盖这个默认行为并告诉 Perl 解释器将变量初始化为zero
(或其他一些固定值)?
Code Complete 中的建议对于 C 等语言很重要,因为当您拥有
int f(void) {
int counter;
}
的价值counter
是发生占据该记忆的任何事情。
在 Perl 中,当您使用以下方式声明变量时
my $counter;
毫无疑问的价值$counter
is undef
不是一些随机的垃圾。
因此,建议背后的动机,即确保所有变量都以已知值开始,在 Perl 中自动满足,无需执行任何操作。
您对计数器所做的就是增加或减少它们。的结果:
my $counter;
# ...
++ $counter;
Perl 中有明确的定义。$counter
将保持该值1
.
最后,我认为,在大多数情况下,计数器在 Perl 中不是必需的,并且大量使用计数器变量的代码可能需要重写。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)