const в D, требуется помощь клуба.
От: c-smile Канада http://terrainformatica.com
Дата: 05.07.05 03:22
Оценка:
Последние дни обсуждается имплементация механизма readonly в D.
А именно возможность имплементации readonly массивов и указателей.

Без наличия чего-то типа const char[] имплементация строк
в классическом виде невозможна.

Строки в современных ЯП это как правило пара:

typedef const char[] string; // a.k.a string-value
typedef       char[] string_buffer; // builder, whatever



Пока видится два возможных варианта:

1) имплементация const как он есть в C++. Со всеми вытекающими за и против.

2) введение двух новых метатипов readonly array & pointer, типа такого:

char#[] — readonly array
char#* — readonly pointer.

у readonly массива отсутствуют операции модифицирующие содержимое.
у readonly указателя нет опреации dereferencing to l-value.

Второй вариант гораздо легче имплементирвать и он в быту не такой
"напряжительный".

Какие еще варианты, мнения и вообще? Можно предлагать самые
"дурацкие" — брейнштОрмим пока.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.