编写C ++代码时,之间有任何区别:
#include <cstdlib>
和
#include <stdlib.h>
除了前者主要包含在std::
名称空间中?
除了编码标准和样式之外还有其他任何理由可以使用其中一个吗?
答案 0 :(得分:43)
第一个是C ++标头,第二个是C标头。由于第一个使用命名空间,这似乎更可取。
答案 1 :(得分:15)
不,除命名空间情况外,它们基本相同。
答案 2 :(得分:2)
除了编码标准和样式之外,还有其他理由要使用另一种吗?
是的。 stdlib.h
已被弃用的事实是不使用它的一个很好的理由。实际上,它在1998年的第一个标准中就已经过时了。当然,它仍然存在于C ++ 14中,并且可能甚至存在于C ++ 17中(我无法使用C ++ 17标准),但是由于不建议使用,因此强烈建议您不要使用它。也许删除的风险不是很高,但是为什么在编写新代码时却如此容易避免,甚至还要冒风险呢?
以下是不推荐使用的功能,其中不推荐使用的功能定义为:当前版本的规范 标准,但已被确定为要从以后的版本中删除的候选。
...
您应该有一个很强的论据来使用stdlib.h
而不是cstdlib