繁体   English   中英

getch()和_getch()之间的区别

[英]Difference between getch() and _getch()

conio.h头文件中定义的两个函数之间有什么区别 -

getch()和_getch()。

decalaration有区别吗? 或者仅仅因为更新的标准而有所不同?

这是几年前微软决定更严格地解释C ++标准的一部分。 它表示全局命名空间中以下划线开头的所有名称都保留供实现使用 这意味着getch不是保留名称,但_getch是。

所以微软认为“这个函数,以及所有其他POSIX函数,都是由实现提供的。让我们通过预先设置下划线来重命名它们,这样我们就可以将它保留在全局命名空间的”保留“部分内。方式,用户提供的功能没有名称冲突的可能性。

你可以说这些都是好意,或者说这只是打破POSIX代码的邪恶尝试。 我不知道他们的真正动机是什么,但最终的结果是,根据微软的说法, getch已被弃用,你应该使用_getch代替。

这两个函数都是非标准的(即它们不符合C ++ ISO标准)。 它们是您的特定工具链提供的扩展,因此,您必须检查其文档中的差异。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM