为什么PHP没有C++中等同于const
的道德等价物?我认为PHP语言中缺少这个。有没有一种方法可以模拟与const
对象或参数相同的属性?
C#也不支持const
,它是一种非常通用的语言。
我很喜欢const
,但我理解为什么脚本语言的脚本往往不使用它们:脚本语言非常适合“裸奔在树林中”,因为这是“有趣”的,并且添加新功能非常快速,因为你不会强制执行严格的类型正确性,包括const
。
Perl、Python和Ruby使用标量的原因以及传递/返回数组的原因是因为最初很容易“增长”系统。添加类型正确性,包括使用const
,可能会真正减慢开发迭代。这些语言并不旨在创建“机器化的类型安全接口”,并且const
是你首先获得类型安全后要做的事情。
C++在C语言家族中非常独特,因为它有“const”的概念。简单来说,“const”和正确使用const是很困难的,并且需要写看似重复的重载函数。这意味着许多旨在易于使用的语言-比如说,除了C++之外的几乎所有语言-都不认为这是复杂性值得回报的。
const
关键字表示一个协议,即你不会对其进行更改。例如,你可以通过引用('&')传递一个变量,这意味着减少开销。你也可以说它是const
,这意味着该函数承诺不会更改该对象,即仅可使用const
方法! - Ed Healconst
不同。 - Ed Heal
define()
方法来定义全局常量。另请参阅http://php.net/manual/en/language.constants.php。 - feeela