operator* для enum class
От: B0FEE664  
Дата: 21.09.21 09:15
Оценка: 7 (2) :))
Надоело писать static_cast'ы и функции для конвертации enum ---> int.

А что если перегрузить оператор * :

enum class TestE
{
   a,
   b
};

unsigned int operator* (TestE x)
{
   return TestE::a == x ? 0 : 1;
};


   TestE asdf = TestE::b;

   unsigned int v = *asdf;
   unsigned int vv = *TestE::b;


Слишком неожиданно?
Кто-нибудь так делал?
Есть подводные камни?

тест
И каждый день — без права на ошибку...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.