保留给
实现使用,不是保留为关键字。“实现”,是功能的真实解决方案,比如标准函数getchar(),语言标准不过是规定了需要有什么功能、如何表现,但如何实现这个函数、它的内部代码如何写,却是厂商自由的,它只要满足了标准的要求即可,不是所有厂商的内部实现方式都完全一样,有些有副作用,有些没有,这种真正的解决方案,就叫“实现”。针对独特的平台,有独特的实现方式,如Windows下如何与键盘交互,必然跟系统本身的环境有关,微软用_getch()这样的函数,以下划线开头,表明这个函数是微软独特平台使用的,不是标准函数,在TC/BC下那叫getch(),微软VC编译器提示这种函数已被_getch()替代,头中也有宏会替换这个标识符,存在函数和宏两个版本,它建议你用更明确的_getch()版本,将与系统更协调。这个命名规则是编译器(库)商家自己确定的。我们写程序的时候,碰到涉嫌与库函数名称相似的命名,就要注意是否无意中写了与这类函数一样的名字,比如有人可能知道scanf(),但可能不知道这个编译器可能有_scanf(),于是自己写了一个自定义函数_scanf()与scanf()相区别,就会与厂家提供的_scanf()同名。这段话只是提醒你会碰到这种情形,自定义的名称,最好与库函数的名称有显著区别,不要
仅靠下划线之类来区别,那是不可靠的。
有些库函数,可能会调用别的函数,而那些函数又是不对外公开的,他们设定了某些认为普通程序员不会使用的命名法则来写那些函数,外人有时会无意触犯,没碰到重名还好,碰到就麻烦了。当然这并非说完全不能用下划线开头做自定义名称。
[
本帖最后由 TonyDeng 于 2013-8-6 11:22 编辑 ]