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 констант и логика работы с объектом.


Ответы (0 шт):