我认为&*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()
迭代器未定义的行为,还是有效?