У меня ниже проблема структур данных?Не могли бы вы помочь мне.Поэтому я должен инициализировать эти структуры данных значениями по умолчанию при добавлении новых элементов данных в эту карту.
Как я могу сделать это эффективно?
Мне нужно, чтобы a1, a2, a3 были установлены в ноль для каждой записи, которую я собираюсь добавить.
struct a {
int a1;
int a2;
int a3;
};
struct A {
struct a A1;
struct a A2;
};
unordered_map<int, unordered_map<int, struct A>> big_map;
Пробный запуск под кодом.
unordered_map<int, struct A> inner_map;
big_map[0] = inner_map;
struct A m;
big_map[0][0] = m;
cout << "Values: " << big_map[0][0].A1.a1 << ", " << big_map[0][0].A1.a2 << ", " << big_map[0][0].A1.a3 << endl;
Вывод:
g ++ -std = c ++ 11 -o exe b.cc ./exe Значения:0, 0, 1518395376 ./exe Значения: 0, 0, -210403408 ./exe Значения: 0, 0, -1537331360 ./exe Значения: 0, 0, -915603664
Таким образом, инициализация по умолчанию не выполняетсясделано для а3?