在我看来,如果人们使用以下内容,可以解决Perl标签中的许多问题:
use strict;
use warnings;
Run Code Online (Sandbox Code Playgroud)
我认为有些人认为这些类似于训练轮子或不必要的并发症,这显然不是真的,因为即使是非常熟练的Perl程序员也会使用它们.
似乎大多数精通Perl的人总是使用这两个pragma,而那些从使用它们中获益最多的人很少这样做.所以,我认为这将是一个好主意,有一个问题联系起来,鼓励人们时至use strict和warnings.
那么,为什么一个Perl的开发use strict和warnings?
我想知道为什么在某些/所有情况下不可能完全省略 auto 关键字,例如
int main()
{
[](auto x){}(10); // why this?
[](x){}(10); // and not this?
auto x = 10;
x = 10;
}
Run Code Online (Sandbox Code Playgroud)
是否存在歧义或类似问题?还是简单的设计选择?
既然auto关键字是在c ++ 11中引入的,我认为我们应该能够删除指定auto并简单地将变量初始化为v = 20.由于C++能够自己推断变量的类型,为什么不将auto关键字全部放在一起,并在第一次初始化时推导出变量的类型.
即代替
int main() {
auto v = 20;
}
Run Code Online (Sandbox Code Playgroud)
为什么不说
int main() {
v = 20;
}
Run Code Online (Sandbox Code Playgroud)
(假设没有与全局变量冲突,因为python对这种情况很好)