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

Map: обращение к значению (класс) через [] - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ App has trigerred brakepoint & Куча была повреждена http://www.cyberforum.ru/cpp-beginners/thread1494425.html
Здравствуйте. При вызове функции: void ServiceController(std::string ServiceName, char flag) { _TypeMessage tM; SC_HANDLE h_manager, h_svc; // хендлеры SERVICE_STATUS svc_status; //...
C++ Задача на указатели Всем привет. Вот такую задачу пытаюсь решить. Сам я пока новичок в с++. Для введённой пользователем с клавиатуры строки (максимальная длина строки — 80 символов) программа должна определить,... http://www.cyberforum.ru/cpp-beginners/thread1494420.html
Посчитать среднее число шагов в двоичном поиске для массива C++
Всем доброго времени суток,помогиет пожалуйста написать программу, которая считает среднее число шагов в двоичном поиске для массива из 32 элементов в интервале . Для поиска использовать 1000...
C++ Отсортировать массив по убыванию и найти в нем элемент, равный X
Всем привет.Помогите написать программу, которая сортирует массив ПО УБЫВАНИЮ и ищет в нем элемент, равный X (это число вводится с клавиатуры). Использовать двоичный поиск.Заранее спасибо.
C++ Найти произведение элементов массива, превышающих последний элемент http://www.cyberforum.ru/cpp-beginners/thread1494407.html
Произведение элементов массива, превышающих последний элемент. void __fastcall TForm1::Button1Click(TObject *Sender) { StringGrid1->ColCount=StrToInt(Edit1->Text); }...
C++ Ошибки в коде с вложеными классами: Невозможно обратиться к private члену Здорова! Есть код: #include <iostream> using std::cout; #include <afxwin.h> #define IDD_One 1 #define IDD_Two 2 #define IDD_IUnknown_my 3 подробнее

Показать сообщение отдельно
Max Dark
шКодер самоучка
1849 / 1649 / 603
Регистрация: 09.10.2013
Сообщений: 3,678
Записей в блоге: 6
Завершенные тесты: 2
07.07.2015, 11:52
operator[] для map создает новый объект, если ключ не найден и ассоциирует этот ключ с новеньким пустым объектом
а для создания объекта нужен конструктор по умолчанию
PS: ваш код можно переписать без insert, основываясь на этом свойстве map:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
struct A
{
  int val;
  string str;
  A(int i, string msg) : val(i),str(msg) {}
  A() {}
};
 
int main()
{
  map<int,A> tmp;
  tmp[1] = A(1,"aaa");
  tmp[2] = A(2,"bbb");
  cout << tmp[1].str << endl;
  return 0;
}
результат будет тем же
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru