我似乎得到了與他們兩個片段相同的結果。我只是有點困惑,他們如何能夠工作,我希望有一些見解,爲什麼是這樣。瞭解字符數組內存分配
- 這兩個數組是否以相同的方式存儲在內存中?
- 他們是否存儲在炒作?
- 我需要使用
delete[]
嗎?
std::ifstream file
char buffer[bufferSize];
file->read(buffer, bufferSize);
VS
char * buffer = new char[bufferSize];
file->read(buffer, bufferSize);
如何提倡'unique_ptr'而不是'vector'? – 2014-12-07 00:40:02
所以堆棧有內存限制,不知道。認爲它只與它存在的範圍有關.48kb與我所需要的不同。我正在閱讀的二進制文件可能比那個大100倍。我想我需要在堆上存儲。堆棧溢出時是否有錯誤或異常? – superhero 2014-12-07 00:41:37
@MattMcNabb:'std :: vector'如何釋放堆中分配的數組? :-)更嚴重的是,如果你只需要一個動態大小的本地數組,'std :: unique_ptr'實際上是一個合理的選擇,儘管如果我需要一個數組,我個人可能只是使用'std :: vector '。 –
2014-12-07 00:42:43