teratail header banner
teratail header banner
質問するログイン新規登録
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

Q&A

解決済

1回答

1107閲覧

C++のtemplate <typename T>のTの最大値・最小値を取得したい

takey

総合スコア312

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

0グッド

0クリップ

投稿2022/02/12 13:23

0

0

環境

  • c++17
  • gcc.exe (Rev6, Built by MSYS2 project) 10.2.0

やりたいこと

template <typename T>で型Tの最大値を取得したいです。

たとえばTintが指定されたらINT_MAXを取得し、long longが指定されたらLONG_LONG_MAXを取得するようなプログラムを書きたいです。

cpp

1template <typename T> 2class Hoge { 3 public: 4 T get_max() { 5 return INT_MAX; // ここをTによって返す値を変えたい 6 } 7}; 8 9int main() { 10 Hoge hoge1 = Hoge<int>(); 11 cout << hoge1.get_max() << endl; 12 // 2147483647 13 14 Hoge hoge2 = Hoge<long long>(); 15 cout << hoge2.get_max() << endl; 16 // 9223372036854775807 が返ってきてほしい 17}

よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

std::numeric_limits<T>::maxを使えば出来るかと思います。

投稿2022/02/12 13:36

Serbonis

総合スコア586

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.30%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問