首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在C++中,stdlib.h和cstdlib的主要区别是什么?

在C++中,stdlib.h和cstdlib的主要区别是什么?
EN

Stack Overflow用户
提问于 2010-05-17 16:58:02
回答 2查看 12.6K关注 0票数 18

我使用的是EXIT_FAILURE宏,所以我需要包含stdlib.h或cstdlib.但我不知道有什么不同。我应该使用cXXX样式的头文件而不是XXX.h吗?

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-05-17 17:02:42

因为EXIT_FAILURE是一个宏,所以包含哪一个并没有区别。cstdlib版本将把所有函数的名称放入std名称空间,因此您可以这样说:

代码语言:javascript
复制
std::exit(0);

但是由于宏不尊重名称空间,所以您不能这样说:

代码语言:javascript
复制
std::EXIT_FAILURE
票数 17
EN

Stack Overflow用户

发布于 2010-05-17 17:03:29

<cstdlib>只是包装在std名称空间中的<stdlib.h>。为了保持全局名称空间整洁,您应该使用<cstdlib>

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

https://stackoverflow.com/questions/2847729

复制
相关文章

相似问题

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