C++, может ли объект пользовательского класса заменить член типа `uint8_t`?
Рассмотрим следующую структуру:
struct Message
{
// ...
uint8_t code;
// ...
};
Предположим, что данная структура используется на границе DLL. То есть, через границу DLL передаются указатели на такие структуры.
Мой вопрос заключается в следующем.
Могу ли я внутри DLL (или снаружи, но не с обеих сторон одновременно) определить новый тип-класс Code и работать с соответствующим полем через этот тип?
Например:
class Code
{
public:
// ...
private:
uint8_t value;
};
struct Message
{
// ...
Code code;
// ...
};
Если класс Code содержит в себе только один единственный член, который занимает ровно один байт, могу ли я использовать тип Code вместо uint8_t внутри Message?
Я спрашиваю об этом потому, что было бы очень удобно, иметь специальный тип, в котором имеется набор constexpr констант и логика работы с объектом.