#include <cmath> vs #include < math.h> 在C++程序中

#include <cmath> vs #include <math.h> in a C++ program

本文关键字:lt #include gt C++ 程序 vs cmath math      更新时间:2023-10-16

在c++程序中包含前者而不是后者需要考虑哪些因素?我总是包括math.h, stdlib.h,从不包括cmath, cstdlib等。我不明白后者存在的原因,有人能告诉我吗?

希望包含<c ...>标头。它们是c++标准库头文件。<... .h>头文件是C标准库定义的头文件:

c++标准库还提供了C标准库的功能,并进行了适当调整以确保静态类型安全。

大多数c++头文件的内容与相应的C库头文件相同,除了它们的名字都是在std命名空间中定义的。

除第18条至第30条和附录D所述外,每个标头cname的内容应与相应的标头name.h的内容相同,如C标准库(1.2)或C Unicode TR(视情况而定)中所规定的,就像通过包含一样。然而,在c++标准库中,声明(C中定义为宏的名字除外)在命名空间std的命名空间范围(3.3.6)内。这些名字是否首先在全局命名空间范围内声明,然后通过using-declarations

显式注入到命名空间std中是未指定的。