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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Кран
1 / 1 / 0
Регистрация: 16.02.2015
Сообщений: 30
#1

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

07.07.2015, 11:44. Просмотров 615. Ответов 2
Метки нет (Все метки)

Всем добрый день.
Подскажите пожалуйста почему в 14 строчке без пустого конструктора пример не компилится ?
Ведь я обращаюсь к объекту ...
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.insert({1,A(1,"aaa")});
  tmp.insert({2,A(2,"bbb")});
  cout << tmp[1].str << endl;
  return 0;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.07.2015, 11:44
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Map: обращение к значению (класс) через [] (C++):

Обращение к элементам vector, который находится в map, находящийся в map - C++
Всем добрый день! Имеется такой контейнер. Как обращаться к элементам вектора и как пушбэчить его? map &lt;int,map&lt;int,vector&lt;int&gt; &gt;...

Обращение к переменной через класс - C++
Приветствую. Подскажите пожалуйста Имеется следующий класс: class Symbol_table{ vector&lt;Variable&gt;var_table;

Сортировка map по значению - C++
Здорова господа!!! Есть массив: map&lt;string, int&gt; m; m=3; m=2; m=10; Нужно найти максимальный элемент массива? Пытаюсь...

Сортировка map по значению - C++
Есть некий map: map&lt;string, int&gt; MyMap; Нужно вывести на экран всё содержимое контейнера в порядке наибольшего значения. После...

Сортировка map по значению - C++
Добрый день:) Как можно отсортировать map по возрастанию/убыванию float(неважно ключ это или значение) Программа- частотный анализ...

Сортировка std::map по значению - C++
имеется вот такой вот тип: typedef struct { char domain; set&lt;uint32_t&gt; unique_ip; set&lt;uint32_t&gt; unique_id; } REF_LOG; ...

2
Max Dark
шКодер самоучка
1851 / 1651 / 603
Регистрация: 09.10.2013
Сообщений: 3,678
Записей в блоге: 6
Завершенные тесты: 2
07.07.2015, 11:52 #2
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
Кран
1 / 1 / 0
Регистрация: 16.02.2015
Сообщений: 30
07.07.2015, 12:05  [ТС] #3
Цитата Сообщение от Cra3y Посмотреть сообщение
operator[] для map создает новый объект
воот этого я не учел надо бы внимательнее читать.
Спасибо
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
07.07.2015, 12:05
Привет! Вот еще темы с ответами:

Выборка map/unordered_map по значению - C++
Добрый вечер товарищи. Я тут уже неделю мучаю голову по поводу одной &quot;глобальной&quot; задачи, из-за чего моя голова сильно греется и...

Сортировка map по значению (c заковыкой) - C++
А вот и она. Значение это класс: class Info { public: Info (string _address, string _number); string getAddress(); ...

Отсортировать контейнер map по значению элементов - C++
Есть заполненный контейнер unordered_map (ну или просто map) Нужно отсортировать его по значению или сделать сортированный по значению...

Map с поиском как по ключу, так и по значению - C++
Реализовано ли подобное в stl? (или в boost, например) И как в теории выглядит эта реализация? Предполагаю, что это два сбалансированных...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru