Sure, you can do that, as you're not comapring the iterators but the addresses of their referands.
Assuming iterators are from different containers, this comparison cannot ever be true in a well-formed program, though.
質問
As pointed out in other questions here on SO, equality comparison between two iterators from different containers is UB.
In my case I have two list iterators, which might not be from the same container:
std::list< int >::iterator a, b;
Suppose that I know for sure that none of them is an end iterator, my question is if I am allowed to do:
&(*a) == &(*b)
解決
Sure, you can do that, as you're not comapring the iterators but the addresses of their referands.
Assuming iterators are from different containers, this comparison cannot ever be true in a well-formed program, though.