Re[6]: const в D, требуется помощь клуба.
От: c-smile Канада http://terrainformatica.com
Дата: 06.07.05 21:02
Оценка: 10 (1)
Здравствуйте, VladD2, Вы писали:

CS>>Из-за того что в C++ используется deep immutability который(ая) есть вещь суровая, то для практических целей оставлен

CS>>const_cast<> — явное снятие immutability.

VD>Это ты себе придумываешь. С++ предоставляет возможность локальной защиты в виде объявления переменных как неизменяемыми. Ничего "глубокого" тут нет.


Для самообразования про то что есть такое deep and shallow immutability:
http://www-sop.inria.fr/everest/events/cassis05/Transp/poll.pdf

Еще раз, с точки зрения теории:

class A {...}
A a1;
const A a2;


a1 и a2 принадлежат разным классам. С++ например считает именно так.

const A a2; есть неявное объявление класса A' множество свойств и методом которого
ограничено тольку "не мутирующими" свойствами и методами класса A.

Про то как deep immutability могло быть сделано в C# или Java
читаем здесь:

Javari Language — Java extended by readonly and mutable keywords:
"A Practical Type System and Language for Reference Immutability"
http://pag.csail.mit.edu/~mernst/pubs/ref-immutability-oopsla2004-slides.pdf
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.