#include 与C ++程序中的#include

在C ++程序中包含前者而不是后者需要考虑哪些因素? 我总是包括math.hstdlib.h和从不cmathcstdlib等我不明白后者甚至存在的原因,有人可以请赐教吗?

更喜欢包含标题。 它们是C ++标准库头。 <... .h>标头是C标准库定义的标头:

C ++标准库还提供C标准库的function,经过适当调整以确保静态类型安全。

大多数情况下,C ++标头的内容与相应的C库标头相同,只是名称都在std名称空间中定义。

除第18条至第30条和附件D中所述外,每个标题cname的内容应与相应标题name.h的内容相同,如C标准库(1.2)或C Unicode TR中所规定的那样,视情况而定,好像通过包含。 但是,在C ++标准库中,声明(除了在C中定义为宏的名称除外)都在命名空间std的命名空间范围(3.3.6)内。 未指定是否首先在全局命名空间范围内声明这些名称,然后通过显式使用声明将这些名称注入到命名空间std中