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