Рассмотрим следующий код:
enum class Enum : uint8_t
{
// ...
};
Подскажите, пожалуйста, верно ли я понимаю, что данное наследование(если это можно так назвать) позволяет задать размер типа?
Например, у меня есть DLL и в ней есть функция, которая принимает указатель на структуру, в которой есть некие данные. Могу ли я (ради удобства) использовать в этой структуре поле не типа uint8_t, а типа enum class .. : uint8_t?
Например:
enum class Code : uint8_t
{
// ...
};
struct Message
{
Code code;
// ...
};
С таким кодом было бы намного удобнее работать, потому что сразу было бы понятно, за что отвечает поле code и какие возможные значения оно может принять. Единственная опасность заключается в том, что в поле могут попасть значения, для которых в enum class нет соответствия.
Все ли я верно понимаю?
Продвижение своими сайтами как стратегия роста и независимости