• ベストアンサー

map(stl)の引数を知りたい

C++です。 map <int, int> i; により、整数→整数のmapを作ったとします。 そのときに、引数の整数値の最小値を知りたいのですが、 簡単な方法はありますか? perlで言うところの、$ARGV[0]です。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

>「begin()が返すmapの先頭要素から分かると思います。」 >ということは、最初のキー=i.begin()ということでしょうか? >私の環境では、コンパイルエラーになってしまいます。 i.begin()はiteratorを返します。なので: int minimum_key = i.begin()->first; inr manimum_val = i.begin()->second;

noname#108554
質問者

お礼

できました。ありがとうございました。

その他の回答 (1)

  • Werner
  • ベストアンサー率53% (395/735)
回答No.1

> そのときに、引数の整数値の最小値を知りたいのですが、 この「引数」とは何のことですか? mapのキー、もしくは値のことでしょうか? mapのiteratorの参照順はキーが小さな順なので 最小のキーを知りたいのなら begin()が返すmapの先頭要素から分かると思います。 > perlで言うところの、$ARGV[0]です。 perlの$ARGV[0]は1つめのコマンドライン引数なので、 C++では int main(int argc, char *argv[]) としたときの、argv[1]が対応すると思います。 しかし、これはstd::mapとは関係ないですよ?

noname#108554
質問者

お礼

ありがとうございます。 引数はキーのことです。 「begin()が返すmapの先頭要素から分かると思います。」 ということは、最初のキー=i.begin()ということでしょうか? 私の環境では、コンパイルエラーになってしまいます。 perlについては間違えました。すみません。

関連するQ&A