基于已删除的内存UB的指针算术和比较?

son*_*yao 5 c++ pointers iterator

Fox例子:

int* a = new int[10];
int* b = a;
int* e = a + 10;
delete[] a;
for (; b != e; ++b);
Run Code Online (Sandbox Code Playgroud)

我知道解除引用无效指针将是UB.但是如何比较和增加呢?

背景

这是一个问题,OP在基于范围的for循环中添加元素,这可能导致迭代器变为无效.但是他最后在向量中添加了元素,之后迭代器将被增加并进行比较,而不是解除引用.是UB吗?