【问题标题】:C++ equivalent of java.lang.Integer.MIN_VALUE等效于 java.lang.Integer.MIN_VALUE 的 C++
【发布时间】:2010-04-16 16:52:56
【问题描述】:

如何在 C++ 上获得等效的 java.lang.Integer.MIN_VALUE?

【问题讨论】:

    标签: java c++ limits


    【解决方案1】:
    #include <limits>    
    std::numeric_limits<int>::min();
    

    【讨论】:

      【解决方案2】:

      取决于您所说的“等效”是什么意思。 java.lang.Integer.MIN_VALUE 是 Java 中的编译时常量,但 std::numeric_limits&lt;int&gt;::min() 不是 C++ 中的整数常量表达式。因此它不能用作例如数组大小(好吧,int 的最小值无论如何都不能,因为它是负数,但对于涉及它的表达式,或其他类似值,或其他需要 i.c.e 的上下文也是如此)。

      如果您需要 C++ 中的编译时常量,请使用来自 &lt;climits&gt;INT_MIN。事实上,无论如何你都可以使用它:numeric_limits 是必不可少的,如果你正在编写通用代码,并且你有一些整数类型 T,它可能是 int,或者可能是其他东西。它的主要用途是证明你的 leet C++ Skillz,和/或使你的代码更长;-)

      【讨论】:

      • 虽然在 C++0x 中它是一个常量表达式。 :)
      • 我会相信 C++0x 时我会全力以赴;-)
      猜你喜欢
      • 2012-02-18
      • 2011-01-29
      • 2017-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-30
      • 1970-01-01
      相关资源
      最近更新 更多