Можно ли предположить, что mapy[5] всегда будет 1? Я имею в виду, будет mapy[5] всегда получать значение по умолчанию 0 до '++', даже если явно не объявлено, как в моем коде?
Ответ 1
Как только вы получаете доступ к карте с помощью оператора [], если ключ не существует, он добавляется. Инициализатор по умолчанию для типа int вызывается - поэтому он получит значение 0.
Ответ 2
Да, значение по умолчанию будет по умолчанию этого типа. Если вы хотите по-другому, вы можете создать класс, который ведет себя как int, но имеет другой конструктор по умолчанию.