2016-07-12 55 views
-2

我有這樣的C++代碼,我想在C89將一些操作:重釋投在C

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

我怎麼能取代C中的重新解釋投?

+6

在C中,總是隻有一種類型的演員。 –

+0

'我如何替換C中的reinterpret強制轉換,你不能替換不存在的東西。 –

回答

3

沒有什麼非常令人興奮的,你見過此之前:

(uint8_t *)(stream.buffer) 

這是投東西C.

+0

所以重新演繹演員只能做一個「經典」演員嗎? – richerarc

+3

非常。 C++還有其他類型的C不具備的類型。然而,這不完全是一對一的比賽。 'reinterpret_cast'不會做什麼C風格的強制類型轉換爲子類。 –

3

你可以簡單地使用C風格的類型轉換的唯一途徑:

(uint8_t*)stream.buffer