Re[7]: Аналог scoped enum до C++11
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 04.06.18 01:46
Оценка:
Здравствуйте, kov_serg, Вы писали:

_>Вам не кажется что это доведение до абсурда?


Никоим образом. Если в языке есть идея строгой типизации — ее нужно использовать везде, кроме исключительных случаев.

_>Може вы еще и такие типы хотите PositiveDouble, RangeDouble, MultiRangeDouble, DoubleWithAcceptedValues

_>и еще такие DoubleMeter, FloatTime, LongDoubleMass ...

Не хочу. По той простой причине, что тип double предназначен для вычислений, и диапазон его значений по определению не имеет разрывов, кроме пары неопределенностей. А тип enum, наоборот, для вычислений по определению не предназначен, и его значения не обязаны быть смежными. По сути, это такой примитивный аналог множества с постоянной мощностью 1, из которого можно принудительно сделать множества мощностью до 32-64.

_>Может лучше не плодить сущности, пораждаю лишнюю энтропию, а использовать по максимуму имеющиеся?


Имеющиеся сущности лучше использовать, когда они добавляют читабельности, безопасности и эффективности. Я бы хотел иметь в языке еще несколько возможностей для ограничения свободы компилятора по неявному преобразованию типов, а также пару десятков дополнительных предупреждений.
Отредактировано 04.06.2018 2:12 Евгений Музыченко . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.