我一直在用#include <minmax.h>
在我的脚本中并使用 min()
和 max()
正如预期的那样。我向某人展示了这个,他们以前从未见过,说这对他们不起作用,并问我为什么不包括 <algorithm>
并调用 std::min()
或 std::max()
.
所以我的问题基本上是,为什么我不是?我在一本关于 C++ 的书中发现了这一点:“C++ 设计模式和衍生品定价”。谷歌搜索 "minmax.h"
,我在最上面的结果中找到了对那本书的引用,所以更让我觉得这是不正常的。
谁能告诉我这是什么?
最佳答案
C++ 编程语言伴随着 C++ Standard Library .没有<minmax.h>
C++ 标准库中的头文件。标准库中的头文件没有 .h 扩展名。此外,头文件也不是移植的 C 标准库的一部分,因为这些头文件具有 c 前缀,如 <cmath>
(替换 C 标准库 <math.h>
header ),<ctime>
(替换 <time.h>
header )在 C++ 标准库中使用时。
std::min和 std::max函数在 <algorithm>
中声明标题。
话虽如此,确实似乎有一些名为 <minmax.h>
的 MS header 。内C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\ucrt
定义 min
的文件夹和 max
宏,而不是函数。但是,这是一些特定于实现的 header ,您应该使用标准 <algorithm>
头代替。
关于c++ - C++ 中的 "minmax.h"是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62394972/