Конструктор по умолчанию std :: pair <> устанавливает базовые типы (int и т. Д.) В ноль?
После написания:
std::pair<int, int> x;
Я гарантированно, что x.first и x.second равны нулю? Или они могут иметь какую-то ценность?
Причина, по которой меня это беспокоит, заключается в том, что я пытаюсь определить, будет ли карта, чьи значения являются указателями, возвращать NULL, если я получу доступ к элементу, которого нет на карте. То есть, если я сделаю:
std::map<int, void*> my_map;
std::cout << int(my_map[5]) << std::endl;
тогда я гарантированно получить ноль (NULL)? Или поведение не определено?