conio.h 头文件中定义的两个函数有什么区别 -
getch() 和 _getch()。
声明有区别吗?或者仅仅是由于更新的标准造成的差异?
这是微软几年前决定更严格地解释 C++ 标准的一部分。它表示全局名称空间中以下划线开头的所有名称都是保留供实施使用。这意味着getch
不是保留名称,但是_getch
is.
因此,微软认为“这个函数以及所有其他 POSIX 函数都是由实现提供的。让我们通过在前面添加下划线来重命名它们,这样我们就可以将其保留在全局命名空间的“保留”部分中。这样,就不会与用户提供的函数发生名称冲突。
您可以说这些都是善意的,也可以说这只是破坏 POSIX 代码的邪恶尝试。我不知道他们的真正动机是什么,但最终的结果是,根据微软的说法,getch
已弃用,您应该使用_getch
反而。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)