mapの内部型とか、for_eachする時のファンクタ定義とか。

どれがどの型を指すやらわかりづらいんです。

typedef std::map<int, std::string> Map;

Map::key_type key;    // キーの型。int。
Map::mapped_type val; // マップされた値の型。std::string。
Map::value_type ele;  // 要素(?)型。std::pair<const Map::Key_type, Map::mapped_type>。

// for_each用のファンクタ。
Map mymap;
struct Functor
{
  void operator () (Map::value_type& ele) // キーの方はconstなので注意。
  {
    ToDo(ele.second);  // 何か処理など。
  }
};
std::for_each(mymap.begin(), mymap.end(), Functor());

スーパーpre記法使ってみました。
色は変えられないのだろうか?変えられたー