我是C ++的新手,想知道如何将BYTE
类型的对象转换为unsigned char
,这就是列出的typedef
。 BYTE
是一个Microsoft创建,我想在常规C ++函数中使用它的对象,它不接受BYTE
。
谢谢。
答案 0 :(得分:3)
如果BYTE
定义为:
typedef unsigned char BYTE;
然后它们是同一类型。 BYTE
只是unsigned char
的别名(另一个名称),并且不需要进行任何进一步的转换,因为unsigned char
和BYTE
都指的是完全相同的类型。
如果API提供别名(例如BYTE
),建议使用别名,因为API的未来版本可能会更改此别名的含义。如果您使用API提供的typedef
而非明确使用它所引用的类型,则通常会减少代码中的更改。