Форум
C/C++
Тема
Как правильно задавать вопросы
B
I
abc
U
X
3
X
3
H1
H2
H3
H4
H5
H6
Asm
C/C++
C#
Erlang
Haskell
IDL
Java
Lisp
MSIL
Nemerle
ObjC
OCaml
Pascal
Perl
PHP
Prolog
Python
Ruby
Rust
SQL
VB
Здравствуйте, ·, Вы писали: ·>Здравствуйте, vdimas, Вы писали: V>>В шарпе для такого сценария есть отдельно иммутабельный аналог map, и отдельно мутабельный builder для него. V>>В С++ не потребовалось создавать две сущности. ·>Именно, то же самое на шарпах делается с помощью интерфейса. А две сущности в C++ тоже есть, просто неявно. Вместо явного интерфейса делается пара const- и просто-методов. Константные объекты появляются не магически, а в определениях соответствующих полей и методов. V>>Этот сценарий может возникнуть не только вокруг иммутабельного map, где в шарпе постелили соломку, а вообще везде. ·>И там и там надо вводить два типа. Ведь T и const T это тоже разные типы. V>>Собсно, только об этом и говорится в обсуждении (многократно по кругу) - что практически любой мутабельный тип можно использовать в т.ч. в иммутабельных сценариях. :xz: ·>"Практически" в том смысле если для типа правильно спроектирован const подтип. Ровно та же петрушка, что и с интерфейсом. V>>Остальные сценарии, когда мутабельный объект подаётся по константной ссылке - это просто удобные гарантии, т.к. после вызова метода с таким аргументом ты можешь в коде рассуждать о том, что целевой объект в результате вызова некоей ф-ии с им-аргументом, не изменился. ·>Аналог final. ·>Суть моего тезиса в том, что семантика const в других ЯП выражается тоже, просто через другие механизмы языка.
Теги:
Введите теги разделенные пробелами. Обрамляйте в кавычки словосочетания с пробелами внутри, например:
"Visual Studio" .NET
Имя, пароль:
Загрузить
Нравится наш сайт?
Помогите его развитию!
Отключить смайлики
Получать ответы по e-mail
Проверить правописание
Параметры проверки …