显然,使用命名常量魔术数字的目的是为了代码清晰,并且不需要遍历整个代码更改数字。魔术数字不需要命名常量的情况
但是,如果您只有一个数字在函数中使用过一次,您会做什么?假设你有一个短成员函数,它使用一个对象的速度(我们会说它不会改变)来计算它的运动,但这是使用该速度的唯一函数。你...
A)类提供一个名为静态常量使用
B)将一个命名常量在功能
C)使用一个神奇的数字,但它发表评论
D)其他...
我是倾向于使用一个神奇的数字,并评论它,如果数字只用于一次,但我想听听别人的想法。
编辑:是否将一个名为常量的函数调用多次并赋值给函数会有性能影响?如果是这样我想最好的办法是把固定在一个命名空间或使它成为一个类变量,等等
这是否有任何性能问题,如果你是在高性能环境? – Anonymous 2009-11-10 02:18:46
不,除非你的编译器完全死机。 MSVC和GCC(带有-O3)会将该数字视为编译时常量。 – Crashworks 2009-11-10 02:20:27
谢谢崩溃。很有帮助。 – Anonymous 2009-11-10 02:21:16