• Class / Function / Type

      std::
    • Header file

      <>
    • Other / All

    最終更新日時(UTC):
    が更新

    履歴 編集

    variable
    <limits>

    std::numeric_limits::is_signed

    // C++03
    static const bool is_signed;
    
    // C++11
    static constexpr bool is_signed;
    

    概要

    Tが符号付き型であるなら、is_signedtrueとなり、そうでなければfalseとなる。
    is_specialized == falseの場合、is_signedfalseとなる。

    #include <limits>
    
    int main()
    {
      constexpr bool a = std::numeric_limits<int>::is_signed;
      constexpr bool b = std::numeric_limits<unsigned int>::is_signed;
    
      static_assert(a, "must be signed");
      static_assert(!b, "must be unsigned");
    }
    

    出力