Сообщение Re[2]: Унарным + узнать underlying от enum от 04.07.2023 21:17
Изменено 04.07.2023 21:18 serg_joker
Re[2]: Унарным + узнать underlying от enum
Здравствуйте, koenjihyakkei, Вы писали:
K>Идея нравится, только звездочка, мне кажется, органичнее бы смотрелась:
На мой взгляд, в С++ префиксная звёздочка семантически крепко ассоциируется с получением значения, на которое есть некий указатель или другой косвенный "хранитель" (типа optional). использование его для целей получения underlying type мне видится сомнительной идеей.
Опять же, скажем, если есть
то код
смотрится лучше/понятнее, чем
Кроме того, префисный плюс можно применять в шаблонном коде (не обязательно значит, что нужно), так что он будет равно успешно работать как со встроенными интегральными типами, так и с перечислениями.
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;
Кроме того, префисный плюс можно применять в шаблонном коде (не обязательно значит, что нужно), так что он будет равно успешно работать как со встроенными интегральными типами, так и с перечислениями.
Re[2]: Унарным + узнать underlying от enum
Здравствуйте, koenjihyakkei, Вы писали:
K>Идея нравится, только звездочка, мне кажется, органичнее бы смотрелась:
На мой взгляд, в С++ префиксная звёздочка семантически крепко ассоциируется с получением значения, на которое есть некий указатель или другой косвенный "хранитель" (типа optional). использование его для целей получения underlying type мне видится сомнительной идеей.
Опять же, скажем, если есть
то код
смотрится лучше/понятнее (на мой вкус), чем
Кроме того, префисный плюс можно применять в шаблонном коде (не обязательно значит, что нужно), так что он будет равно успешно работать как со встроенными интегральными типами, так и с перечислениями.
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;
Кроме того, префисный плюс можно применять в шаблонном коде (не обязательно значит, что нужно), так что он будет равно успешно работать как со встроенными интегральными типами, так и с перечислениями.