Равенство — операция, позволяющая определить совпадают или различаются объекты.
Совпадение и несовпадение может рассматриваться различно. Наиболее общее разделение отражает различие между семантикой указателей и семантикой копирования. Многие языки прграммирования используют эквивалентность указателей, когда две ссылки на объект считаются эквивалентными, если они указывают на один и тот же объект.
Зачастую необходимо определить обладают ли два объекта одинаковым значением (например, при сравнении текстовых строк). Для чисел и текстовых строк обычно под равенством понимается побитное совпадение. При такой интерпретации два объекта являются эквивалентными, если их битовое представление в памяти одинаково.
Для составных объектов вроде записей в языках Паскаль и Си побитное сравнение может оказаться недостаточным. Часто блок памяти для таких типов данных может включать пустые участки, которые не имеют отношения к значениям, хранимым в объекте. Поскольку эти пропуски не должны учитываться при определении равенства, используется второй механизм, а именно поэлементное равенство. При поэлементном сравнении проверяются сопоставляемые элементы на совпадение, применяя это правило рекурсивно, пока не встретится элемент, отличный от записи. В последнем случае применяется побитное сравнение. Если все элементы удовлетворяют проверке, две записи рассматриваются как равные друг другу. Если какие-либо два элемента не совпадают, то записи не равны друг другу. Такое отношение равенства иногда называется структурной эквивалентностью.
This article is licensed under the GNU Free Documentation License.
It uses material from the
"Равенство (программирование)".
Home Page • arts • business • computers • games • health • hospitals • home • kids & teens • news • physicians • recreation• reference • regional • science • shopping • society • sports • world