Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > std::map::at() ? oO


Автор: boostcoder 17.4.2011, 02:18
всем доброй ночи.

обнаружил, не без помощи товарищей, что у std::map есть метод at(), который бросает исключение типа std::out_of_range при обращении к значению по несуществующему ключу.
с каких пор он присутствует? ведь в http://cplusplus.com/reference/stl/map/ его нет!
Код


#include <iostream>
#include <map>
#include <string>

int main() {
   std::map<int, std::string> map;
   map[0] = "0";
   map[1] = "1";
   map[2] = "2";
   
   std::cout << map.at(3) << std::endl;
}


http://liveworkspace.org/code/124b704221d299618ef2bd14767006c6

спасибо.

Автор: kemiisto 17.4.2011, 02:52
Цитата(boostcoder @  17.4.2011,  01:18 Найти цитируемый пост)
с каких пор он присутствует? ведь в доке его нет!

Ты же у нас гуру? smile Читай стандарт. smile В 2003 at() должен быть у vector и deque. В новом у basic_- string, deque, list, vector. Для остальных - опционально.

Автор: boostcoder 17.4.2011, 09:47
Цитата(kemiisto @  17.4.2011,  02:52 Найти цитируемый пост)
Ты же у нас гуру?

нет.

спасибо.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)