私&*vector::end()
は未定義の動作だと思っていました...いくつかの投稿が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());
}
イテレータの逆参照はend()
未定義の動作ですか、それとも有効ですか?