2016-07-12 13 views
-2

Ich habe eine Operation wie diese C++ Code, den ich in C89 umwandeln möchten:umdeuten werfen in c

return reinterpret_cast<uint8_t *>(stream.buffer) - buffer;

Wie kann ich die reinterpret Guss in C ersetzen?

+6

In C gab es immer nur eine Art von Besetzung. –

+0

'Wie kann ich die Neuinterpretierung in C ersetzen ersetzen, können Sie nicht etwas ersetzen, das nicht existiert. –

Antwort

3

Nichts sehr aufregend, haben Sie schon gesehen: etwas in C werfen

+0

also machen die reinterpret cast wirklich nichts mehr als eine "klassische" Besetzung? – richerarc

+3

Ziemlich viel. C++ hat andere Arten von Umwandlungen, die C nicht hat. Es ist jedoch nicht genau ein Eins-zu-eins-Spiel. 'reininterpret_cast' macht nicht das, was eine C-Style-Umwandlung zum Umwandeln in eine Unterklasse tut. –

3

Sie könnten einfach einen C Casts verwenden

(uint8_t *)(stream.buffer) 

Das ist der einzige Weg:

(uint8_t*)stream.buffer