Указатель не гарантирует, что он будет иметь какое-либо значимое значение само по себе, кроме диапазона, в котором он был выделен, и после конца этого диапазона.
Возможно, вы задаетесь вопросом:вы делали свою собственную проверку на утечку, поэтому вы написали функцию для удаления указателя с карты после того, как вы сделали удаление.Это будет использовать std :: less, который гарантированно будет работать с указателями, которые не указывают в пределах диапазона, и предположительно будет работать также с указателями, которые указывают на недопустимую память.
Конечно, вы можетесбор мусора для «удаления» непосредственно перед удалением памяти, на которую оно указывало.
Как и в случае со стандартом, если значение, которое вы передаете для удаления, не является l-значением, оно гарантированно сохраняетсято же значение, но если это l-значение, оно определяется реализацией.