常量以 k
为前缀是很常见的做法(例如 k_pi
)。但是k
是什么意思呢?
难道只是c
已经表示char
了吗?
最佳答案
这是一个历史上的怪事,在喜欢盲目应用他们不理解的编码标准的团队中仍然很常见。
很久以前,大多数商业编程语言都是弱类型的;我们现在认为理所当然的自动类型检查仍然主要是一个学术话题。这意味着很容易编写带有类别错误的代码;它会编译并运行,但会以难以诊断的方式出错。为了减少这些错误,一个名为 Simonyi 的小伙子建议您在每个变量名称的开头使用一个标记来指示其(概念)类型,以便在它们被误用时更容易发现。由于他是匈牙利人,这种做法被称为“匈牙利符号”。
一段时间后,随着类型语言(尤其是 C)变得越来越流行,一些白痴听说这是个好主意,但不明白它的目的。他们建议为每个变量添加冗余标签,以指示其声明的类型。它们的唯一用途是更容易检查变量的类型;除非有人更改了类型并忘记更新标签,在这种情况下他们是有害的。
第二种(无用的)形式更容易描述和执行,因此被许多团队盲目采用;几十年后,你仍然会看到它不时被使用,甚至被提倡。
"c"是 "char"类型的标记,因此它不能也用于 "const";所以选择了“k”,因为它是德语中“konstant”的第一个字母,并且广泛用于数学中的常数。
关于c++ - 常量的 k 前缀从何而来?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5016622/