我似乎得到了与他们两个片段相同的结果。我只是有点困惑,他们如何能够工作,我希望有一些见解,为什么是这样。了解字符数组内存分配
- 这两个数组是否以相同的方式存储在内存中?
- 他们是否存储在炒作?
- 我需要使用
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