conio.h头文件中定义的两个函数有什么区别?
getch()和_getch()。
外观上有区别吗?还是仅仅是由于更新的标准而有所不同?
最佳答案
几年前,Microsoft决定更严格地解释C++标准,这是它的一部分。它表示全局 namespace 中所有以下划线开头的名称都保留供实现使用。这意味着getch
不是保留名称,但_getch
是保留名称。
因此,Microsoft认为“该函数以及所有其他POSIX函数都是由实现提供的。让我们通过在其下划线添加重命名它们,以便将其保留在全局 namespace 的”保留”部分中。这样,名称就不会与用户提供的功能发生冲突。
您可能会说这是好的意图,或者这只是破坏POSIX代码的邪恶尝试。我不知道他们的真正动机是什么,但是最终结果是根据Microsoft的建议,不赞成使用getch
,而应改用_getch
。
关于c++ - getch()和_getch()之间的区别,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15040286/