为什么我们应该在 <algorithm> header 的函数之前使用 std name space 而不应在 <cmath> header 的函数之前使用它?
Why should we use std name space before functions of <algorithm> header and should not use it before functions of <cmath> header?
我想知道为什么我们应该在 <algorithm>
header 函数之前使用 std
命名空间,例如 max() and we are not obliged to use it before functions of <cmath>
header like round()?
例子:
max()
round()
谢谢
<cmath>
本质上是 C 标准库中 math.c
的包装器。
This header was originally in the C standard library as <math.h>. (source: https://en.cppreference.com/w/cpp/header/cmath)
C++ 是(几乎)C 的超集,这意味着 C++ 编译器应该编译几乎所有用 C 编写的程序。因此,C 标准库中的函数不属于 std
命名空间,这是C++的概念。其他示例:printf
、fopen
。当然你可以自由地将C++标准库与C标准库函数、常量、宏等混合使用
对于 C 和 C++ 之间的不兼容性,请参见示例 Where is C not a subset of C++?
我想知道为什么我们应该在 <algorithm>
header 函数之前使用 std
命名空间,例如 max() and we are not obliged to use it before functions of <cmath>
header like round()?
例子: max() round()
谢谢
<cmath>
本质上是 C 标准库中 math.c
的包装器。
This header was originally in the C standard library as <math.h>. (source: https://en.cppreference.com/w/cpp/header/cmath)
C++ 是(几乎)C 的超集,这意味着 C++ 编译器应该编译几乎所有用 C 编写的程序。因此,C 标准库中的函数不属于 std
命名空间,这是C++的概念。其他示例:printf
、fopen
。当然你可以自由地将C++标准库与C标准库函数、常量、宏等混合使用
对于 C 和 C++ 之间的不兼容性,请参见示例 Where is C not a subset of C++?