Семантика значений - Value semantics

В Информатика, имея семантика значений (также семантика типа значения или же семантика копирования по значению) означает для объекта, что учитывается только его значение, а не его идентичность.[1][2] Неизменный объекты имеют семантику значений тривиально,[3] а при наличии мутации объект с семантикой значения может иметь уникальную ссылку только в любой точке программы.

Для объяснения этой концепции используются следующие концепции: протяженность, определенность, Заместительность идентичности, разворачиваемость, и ссылочная прозрачность.[4]

Рекомендации

  1. ^ «Некоторые основные ВОПРОСЫ». http://www.velocityreviews.com/: обзоры скорости. Получено 2011-06-17. Важное соображение для семантики значений состоит в том, что важно только значение объекта, а не его идентичность. Таким образом, вы можете копировать его (конструктор копии или присвоение) сколько угодно, и любую копию можно использовать вместо оригинала без изменений.
  2. ^ Даниэль Эльстнер. "Re: расширение Gdk :: Region". http://mail.gnome.org/: Списки рассылки GTK и GNOME. Получено 2011-06-17. Что такое семантика значений? [...] Это специальное сокращение для «семантики типа значения» или «семантики копирования по значению».
  3. ^ «Некоторые основные ВОПРОСЫ». http://www.velocityreviews.com/: обзоры скорости. Получено 2011-06-17. Объект представляет неизменное значение (в отличие от объекта, представляющего систему с изменяемым состоянием). [...] Не обязательно, по крайней мере, не в C ++. Мне нравится идея, что объект с семантикой значения может быть изменен только операторами присваивания, но это далеко от общего случая --- например, std :: string явно имеет семантику значения, несмотря на большое количество мутаторов функции. (Можно утверждать, что это ошибка дизайна, но если это так, нам все равно придется смириться.)
  4. ^ «НЕКОТОРЫЕ ОСНОВНЫЕ ВОПРОСЫ». http://www.velocityreviews.com/: скорость обзоров. Важным аспектом семантики значений является то, что важно только значение объекта, а не его идентичность. Таким образом, вы можете копировать его (конструктор копирования или присвоение) сколько угодно, [...] В конечном итоге можно определить пять различных концепций, которые можно использовать для более точного объяснения этого понятия, а именно: протяженность, определенность, замещающая способность идентичности, раскрываемость и ссылочная прозрачность. Отсутствует или пусто | url = (помощь)