我知道reinterpret_cast
主要用於去往或來自char*
。爲什麼我可以使用static_cast With void *但不能使用char *
但我很驚訝地發現static_cast
可以做到與void*
相同。例如:
auto foo "hello world"s;
auto temp = static_cast<void*>(&foo);
auto bar = static_cast<string*>(temp);
我們使用reinterpret_cast
和char*
在static_cast
和void*
收穫了什麼?這與嚴格的別名問題有關嗎?
通常情況下,你投到一個'char *'做一些單獨的字節。你不能用'void *'來做到這一點。 – NathanOliver
@NathanOliver所以你說的就像'memcpy'或類似的東西? –
'memcpy'就是其中之一。流的'read'和''wrtie'功能是其他功能。如果你需要通過com數據發送東西,你也可以這樣做。 – NathanOliver