gpt4 book ai didi

c++ - "magic number"的概念是否随着语言的变化而变化?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:10:09 25 4
gpt4 key购买 nike

以下面的C/C++代码为例:

int foo[] = {0, 0, 0, 0};

没有神奇的数字,对吧?
现在,Python 的“等价物”是:

foo = [0, 0, 0, 0]

仍然没有神奇的数字。
然而,在 Python 中,同样的事情可以这样写:

foo = [0] * 4

现在我们有了一个神奇的数字。或者我们呢?
我猜这些和其他语言中都存在这个和其他类似的东西。

最佳答案

不是每个数字都是 magic constant . 4 和四个 0 是魔数(Magic Number)(在任何语言中)的原因是完全不清楚为什么那个数字是 4 而不是任何其他号码。

例如,在使用众所周知的六面骰子玩的游戏中

def roll_die():
return random.randint(1,6)

这段代码没有神奇的数字,因为很容易看出数字的来源。

另一方面,很难猜测其他程序员知道哪些数字。例如,并不是每个人都知道一副牌中的牌数,因此在其中使用命名常量更有意义。

数字是否“神奇”完全取决于上下文,与语言无关。如有疑问,为了安全起见,请命名您的常量。

关于c++ - "magic number"的概念是否随着语言的变化而变化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5319516/

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