gpt4 book ai didi

c++ - INT_[MIN|MAX] 限制宏与 numeric_limits

转载 作者:IT老高 更新时间:2023-10-28 23:09:33 25 4
gpt4 key购买 nike

INT64_MAX 上使用数字限制宏(例如 std::numeric_limits<T>)是否有任何论据? ?据我了解numeric_limits在标准中,但宏仅在 C99 中,因此非标准。

最佳答案

其他答案大多有正确的信息,但似乎需要为 C++11 更新。

在 C++11 中,std::numeric_limits<T>::min() , std::numeric_limits<T>::max() , 和 std::numeric_limits<T>::lowest()都声明了constexpr ,因此它们可以在大多数与 INT_MIN 相同的上下文中使用和公司。我能想到的唯一异常(exception)是使用 # 的编译时字符串处理。字符串化 token 。

这意味着 numeric_limits可用于案例标签、模板参数等,并且您可以在通用代码中使用它(尝试在 INT_MIN 中使用 LONG_MINtemplate<typename T> get_min(T t); 对比)。

C++11 还通过添加 std::numeric_limits<T>::lowest() 为 James Kanze 谈到的问题带来了解决方案。 ,它给出了所有类型的最低有限值,而不是整数类型的最低值和浮点类型的最低正值。

关于c++ - INT_[MIN|MAX] 限制宏与 numeric_limits<T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5579641/

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