2016-04-11 6 views
0

Ich bin neu in C++ und würde gerne wissen, wie man ein Objekt vom Typ BYTE in eine unsigned char konvertiert, die als typedef aufgeführt ist. BYTE ist eine Microsoft-Erstellung, und ich möchte das Objekt in regulären C++ - Funktionen verwenden, die BYTE nicht akzeptiert.Wie konvertiert man von Typedef zu seinem konstituierenden Datentyp?

Vielen Dank.

+4

Es ist ein Alias. Eine Konvertierung ist nicht erforderlich, da sie bereits vom selben Typ ist. –

+2

Wenn Sie mit einer API interagieren, verwenden Sie die Typedefs der API. – GManNickG

+0

Ok, vielen Dank. – ITWorker

Antwort

3

Wenn BYTE ist wie folgt definiert:

typedef unsigned char BYTE; 

Dann werden sie vom gleichen Typ sind. BYTE ist nur ein Alias ​​(ein anderer Name) für unsigned char und es sind keine weiteren Umwandlungen erforderlich, da sich sowohl unsigned char als auch BYTE auf genau denselben Typ beziehen.

Wenn eine API einen Alias ​​wie BYTE bereitstellt, wird empfohlen, den Alias ​​zu verwenden, da zukünftige Versionen der API die Bedeutung dieses Alias ​​ändern können. Wenn Sie die typedef verwenden, die von der API bereitgestellt wird, anstatt explizit den Typ, auf den sie verweist, zu verwenden, führt dies normalerweise zu weniger Änderungen in Ihrem Code.

Verwandte Themen