這裏是C++新手。爲什麼文件中的數組的二進制保存有效? [C++]
我試圖找出以下行寫入緩衝區到一個文件:
fOut.write((char *)&_data, sizeof(_data));
_data =整數數組...
我有幾個問題:
- 是
&_data
地址數組的第一個元素? - 無論地址是什麼,這是否意味着我們只保存數組的地址?那麼在我釋放它之後,我仍然可以訪問陣列呢?
- 我不應該通過
sizeof(_data)*arrLength
?傳遞int大小(在這種情況下)的意義是什麼,而不是整個數組的大小? - 與地址打交道時是什麼鑄造成
char*
是什麼意思?
我真的很感激一些澄清。
最好顯示`_data`的_exact_定義。無論如何,我對`&`懷有疑慮,這是確切的工作代碼嗎? – 2011-02-04 17:23:43
_data只是一個數組...保存在堆上。是的,它的工作:) – prgDevelop 2011-02-04 17:32:12