Сравнение указателей, использующие реляционные операторы
При сравнении 2 указателя на объекты такого же типа, результат определяется позиции объектов, указанных в область адресного пространства программы.Указатели можно сравнить к выражению константы, имеющим значение 0 или указателю void типа " * ".Если сравнение указателей делается для указателя свободного места, то типа *, другой указатель неявно преобразован в тип void *.Затем выполняется сравнение.
2 Указателей различных типов невозможно сравнить, если:
Один тип класса, производный от другого типа.
Хотя бы указателей (cast) явно преобразовать в тип void *.(Другой указатель неявно преобразован в тип void *) для преобразования.
Гарантируется сравнивают 2 указателя того же типа, указывающие на один и тот же объект равны.Если сравниваются 2 указателя на нестатические члены объекта, то применяются следующие правила.
Если тип класса не соединения, а при 2 члена не разделяются описатель доступа, как открытый, защищенные или частная, указателя на член объявлен последним сравнивает больше указателя на член, объявленный ранее.(Дополнительные сведения о описатель доступасм. раздел синтаксиса внутри. описатели доступа.)
Если элемента разделяются 2 описатель доступарезультаты не определены.
Если тип класса соединение, то указатели к различным элементам данных в этом соединении сравнивают равные.
Если точка 2 указателей к элементам одного массива или к элементу одному после конца массива, указатель на объект с более высоким подстрочным сравнивает выше.Сравнение указателей гарантированный допустимо, только если указатели ссылаются на объекты в одном массиве или на расположение одному за концом массива.