首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >getch()和_getch()之间的区别

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

Stack Overflow用户
提问于 2013-02-23 19:58:29
回答 2查看 3.7K关注 0票数 5

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

getch()和_getch()。

去化有什么不同吗?或者仅仅是由于更新了标准而导致的差异?

EN

回答 2

Stack Overflow用户

发布于 2013-02-23 20:02:22

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

因此,微软认为“这个函数和其他所有POSIX函数都是由实现提供的。让我们通过添加下划线来重命名它们,这样我们就能够将其保留在全局命名空间的”保留“部分中。这样,就不会出现与用户提供的函数名称冲突的情况。”

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

票数 9
EN

Stack Overflow用户

发布于 2013-02-23 20:01:40

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15040286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档