Re[3]: Унарным + узнать underlying от enum
От: SaZ  
Дата: 05.07.23 12:06
Оценка: +1
Здравствуйте, serg_joker, Вы писали:

_>Здравствуйте, koenjihyakkei, Вы писали:

K>>Идея нравится, только звездочка, мне кажется, органичнее бы смотрелась:

_>На мой взгляд, в С++ префиксная звёздочка семантически крепко ассоциируется с получением значения, на которое есть некий указатель или другой косвенный "хранитель" (типа optional). использование его для целей получения underlying type мне видится сомнительной идеей.


_>Опять же, скажем, если есть

_>
_>enum EN{ A, B, C };

_>optional<EN> o;
_>

_>то код

_>
_>auto x = +o.value();
_>auto x = +*o;
_>


_>смотрится лучше/понятнее (на мой вкус), чем


_>
_>auto x = *o.value();
_>auto x = **o;
_>


_>Кроме того, префисный плюс можно применять в шаблонном коде (не обязательно значит, что нужно), так что он будет равно успешно работать как со встроенными интегральными типами, так и с перечислениями.


Напомнило: http://rsdn.org/forum/humour/3686634.1
Автор: Arsenicum
Дата: 29.01.10
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.