Поделиться через


Сравнение указателей, использующие реляционные операторы

При сравнении 2 указателя на объекты такого же типа, результат определяется позиции объектов, указанных в область адресного пространства программы.Указатели можно сравнить к выражению константы, имеющим значение 0 или указателю void типа " * ".Если сравнение указателей делается для указателя свободного места, то типа *, другой указатель неявно преобразован в тип void *.Затем выполняется сравнение.

2 Указателей различных типов невозможно сравнить, если:

  • Один тип класса, производный от другого типа.

  • Хотя бы указателей (cast) явно преобразовать в тип void *.(Другой указатель неявно преобразован в тип void *) для преобразования.

Гарантируется сравнивают 2 указателя того же типа, указывающие на один и тот же объект равны.Если сравниваются 2 указателя на нестатические члены объекта, то применяются следующие правила.

  • Если тип класса не соединения, а при 2 члена не разделяются описатель доступа, как открытый, защищенные или частная, указателя на член объявлен последним сравнивает больше указателя на член, объявленный ранее.(Дополнительные сведения о описатель доступасм. раздел синтаксиса внутри. описатели доступа.)

  • Если элемента разделяются 2 описатель доступарезультаты не определены.

  • Если тип класса соединение, то указатели к различным элементам данных в этом соединении сравнивают равные.

Если точка 2 указателей к элементам одного массива или к элементу одному после конца массива, указатель на объект с более высоким подстрочным сравнивает выше.Сравнение указателей гарантированный допустимо, только если указатели ссылаются на объекты в одном массиве или на расположение одному за концом массива.

См. также

Ссылки

Выражения с бинарными операторами