我正在使用 EXIT_FAILURE 宏,因此需要包含 stdlib.h 或 cstdlib。但我不知道它们之间的区别。我是否应该使用 cXXX 风格的头文件而不是 XXX.h?
谢谢。
谢谢。
<cstdlib>
是在 std
命名空间中封装的 <stdlib.h>
。为了保持全局命名空间的清洁,您应该使用 <cstdlib>
。
由于EXIT_FAILURE是一个宏,所以包含哪个并没有任何区别。使用cstdlib
版本将把所有函数名称放入std
命名空间中,因此您可以这样说:
std::exit(0);
但是由于宏不尊重命名空间,你不能这样说:
std::EXIT_FAILURE
cstdlib
时,我仍然可以调用 exit(EXIT_FAILURE)
而不需要 std::
。 - Brianstrtol()
的常量性问题和类似的问题。 - Alex Cohn