- Равенство (программирование)
-
Равенство (программирование)
Равенство — операция, позволяющая определить совпадают или различаются объекты. Возвращает булевую константу (истина или ложь).
Совпадение и несовпадение может рассматриваться различно. Наиболее общее разделение отражает различие между семантикой указателей и семантикой копирования. Многие языки программирования используют эквивалентность указателей, когда две ссылки на объект считаются эквивалентными, если они указывают на один и тот же объект.
Зачастую необходимо определить обладают ли два объекта одинаковым значением (например, при сравнении текстовых строк). Для чисел и текстовых строк обычно под равенством понимается побитное совпадение. При такой интерпретации два объекта являются эквивалентными, если их битовое представление в памяти одинаково.
Для составных объектов вроде записей в языках Паскаль и Си побитное сравнение может оказаться недостаточным. Часто блок памяти для таких типов данных может включать пустые участки, которые не имеют отношения к значениям, хранимым в объекте. Поскольку эти пропуски не должны учитываться при определении равенства, используется второй механизм, а именно поэлементное равенство. При поэлементном сравнении проверяются сопоставляемые элементы на совпадение, применяя это правило рекурсивно, пока не встретится элемент, отличный от записи. В последнем случае применяется побитное сравнение. Если все элементы удовлетворяют проверке, две записи рассматриваются как равные друг другу. Если какие-либо два элемента не совпадают, то записи не равны друг другу. Такое отношение равенства иногда называется структурной эквивалентностью.
См. также
Wikimedia Foundation. 2010.