的目的,我是新的C++和閱讀一些代碼如下:什麼是reinterpret_cast的
template<typename T>
std::istream & read(std::istream* stream, T& value){
return stream->read(reinterpret_cast<char*>(&value), sizeof(T));
}
,並稱之爲:
size_t size;
read(&stream, size);
誰能解釋什麼是使用的reinterpret_cast的目的這裏以及讀取函數被調用後的結果是什麼?
UPDATE:
的問題是:
如果流包含字符串e.g「測試」,讀被調用後,值的類型變得字符*,其內容爲「測試」?
Google是你的朋友。嘗試'reinterpret_cast C++',看看第二和第三個結果。 –
該代碼片段似乎是嘗試編寫通用序列化例程。如果實際上發生了這種情況,則所顯示的方法相當天真和危險。 –
@In silico如果流包含一個字符串,例如「test」,在調用read之後,value的類型變爲char *,其內容爲「test」? – Foredoomed