sbabbi
sbabbi

Reputation: 11181

Compare two list iterators which point to different lists

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)

Upvotes: 0

Views: 326

Answers (1)

jrok
jrok

Reputation: 55395

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.

Upvotes: 2

Related Questions