Expressions and statements
ES.62
Не сравнивайте указатели в разных массивах
Причина
Результат такого сравнения не определён.
Пример (плохой)
void f()
{
int a1[7];
int a2[9];
if (&a1[5] < &a2[7]) {} // плохо: неопределённое поведение
if (0 < &a1[5] - &a2[7]) {} // плохо: неопределённое поведение
}
Примечание
В этом примере есть и множество других проблем.
Контроль
???