Après avoir écrit :
std::pair<int, int> x;
Suis-je assuré que x.first et x.second sont tous les deux nuls ? Ou pourraient-ils avoir une valeur ?
La raison pour laquelle je m'en soucie est que j'essaie de déterminer si une carte dont les valeurs sont des pointeurs est garantie de renvoyer NULL si j'accède à un élément qui n'est pas dans la carte. C'est-à-dire, si je fais :
std::map<int, void*> my_map;
std::cout << int(my_map[5]) << std::endl;
alors suis-je assuré d'obtenir zéro (NULL) ? Ou le comportement est-il indéfini ?