gpt4 book ai didi

c++ - 取消定义最小和最大宏

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:23:33 25 4
gpt4 key购买 nike

在源代码中,我看到 min 和 max 未定义。这可能是什么原因?

// remove stupid MSVC min/max macro definitions
#ifdef WIN32
#undef min
#undef max
#endif

最佳答案

某些 MSVC header 具有预处理器宏来定义 minmax。这很糟糕,原因有很多。首先,它们不是保留名称,其次,存在同名的标准库函数。

所以 MSVC 或任何通过将 minmax 定义为宏来破坏规则和代码,并且 undef 的使用是一项工作-around 来解决这个问题。

参见 this related question ,它展示了定义如何破坏代码。

关于c++ - 取消定义最小和最大宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21483038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com