Форум программистов, компьютерный форум, киберфорум
Наши страницы

Как получить элемент по ключу у map? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ как преобразовать в переменную http://www.cyberforum.ru/cpp-beginners/thread919648.html
как сократить такую переменную??? вот к примеру: void A (DWORD 0x53 , DWORD 0x85 ) { 0x53+0x85 = 123; } и чтобы постоянно не писать так как выше , я подставляю переменные: void A (DWORD a ,...
C++ Ошибки в создание класса Всем добрый день! При создании своего класса я столкнулся с проблемой, что компилятор жалуется, на содержимое класса в целом! Вот код: CreateWindowClass.cpp class CreateWindowClass { private:... http://www.cyberforum.ru/cpp-beginners/thread919626.html
Не удаётся запустить ни одну программу в Visual Studio C++
пытаюсь запустить простейшие программы,сначала пишет ошибка в ходе построения,потом то что на картинке
C++ в чем ошибка?
for (int i=1; i<=S.Length(); i++) { if ((S=='-') && (S=='-')) { S='+'; S=""; } else if ((S=='+') && (S=='+')) {
C++ Поиск простой библиотека для построения простых 2D графиков http://www.cyberforum.ru/cpp-beginners/thread919595.html
Нужна очень простая библиотека для построения графиков на C/C++. Нужный функционал: умение рисовать графики по точками или просто рисовать точки и умение рисовать отрезки, для которых заданы точки...
C++ Прямоугольник Задача: Создать класс прямоугольник с двумя методами возвращающими периметр и площадь(int Perim и int Square). Также есть конструкторы: 1 конструктор без параметров пользователь вводит с... подробнее

Показать сообщение отдельно
aLarman
643 / 564 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
Завершенные тесты: 1
08.07.2013, 16:06
если почитать про работу мап, то можно заметить что оператор [] не подходит для обращения к элементу, потому что в случае отсутствия элемента с таким ключем, в контейнер добавяется еще один элемент с таким ключем, и значением, которое создаст дефолтный конструктор содержимого, а чтобы обратится адэкватный вариант:
C++
1
2
3
4
5
6
7
8
9
map<int,std::string>::iterator it = g->find(4);
if(it != g->end())
{
//элемент найден работай с ним по итератору наверное так std::string f = *it;
}
else
{
// элемент не найден
}
Добавлено через 2 минуты
а если Вы все же хотите обращатся оператором [] тогда попробуйте так:
C++
1
std::string f = *g[4];
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.