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/

10-11 23:12
查看更多