Я думал, что &*vector::end()
было undefined поведение... пока я не увидел некоторую должность, ссылаясь на Код Stroustrup:
void vector_pointer_test(element_t* first, element_t* last, int number_of_times)
{
vector<element_t> container(first, last);
// &*container.begin() gets us a pointer to the first element
sort(&*container.begin(), &*container.end());
unique(&*container.begin(), &*container.end());
}
Вызывает разыменование поведения iterator undefined или допустимо?