C ++中的stdlib.h和cstdlib之间的主要区别是什么?


What's the main difference between stdlib.h and cstdlib in C++?

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

谢谢。


只是包装在std名称空间中的。 您应该使用来保持全局名称空间整洁。


由于EXIT_FAILURE是一个宏,因此包含其中没有区别。 cstdlib版本会将所有函数的名称放入std命名空间,因此您可以这样说:

1
std::exit(0);

但由于宏不尊重名称空间,因此您不能说:

1
std::EXIT_FAILURE