Я хотел бы знать, как создать собственный тип данных байтового уровня (например, int, short, long и т.д.). Я знаю, что некоторые спросят: "Почему !!", это безумие! " скажем, я не хочу использовать классы или структуры. И я хочу знать, как создать такой тип данных для C/C++, даже если мне нужно использовать код asm для этого (что, я думаю, мне придется использовать). Или есть книга, которая могла бы помочь?
Кто-нибудь может помочь? Спасибо.
Если вы исключили все методы C и C++, чтобы создать новые типы, вы не сможете создавать новые типы.
Это просто с классом:
Создайте класс, в котором есть своего рода хранилище. Если вы настаиваете на том, чтобы делать все вручную, просто сделайте это массив байтов. Перегрузите все операторы, которые хотите поддерживать.
class my_datatype
{
public:
my_datatype();
// overload operators
private:
uint8_t[sizeof_my_datatype] data;
};
Помимо классов и структур, единственный способ "создать" новый тип данных в C и C++ - это typedef
. Это не более чем псевдоним.