Является ли поведение & *вектора ::end ()неопределенным?

Я думал, что &*vector::end()было неопределенным поведением... пока не увидел какой-то пост , ссылающийся на код Страуструпа:

void vector_pointer_test(element_t* first, element_t* last, int number_of_times) 
{ 
       vector container(first, last); 
       // &*container.begin() gets us a pointer to the first element 
       sort(&*container.begin(), &*container.end()); 
       unique(&*container.begin(), &*container.end()); 
}

Является ли разыменование итератора end()неопределенным поведением или это допустимо?

14
задан Mehrdad 1 August 2012 в 02:16
поделиться