Mat*_*hid 2 c++ memory-management
我正在看另一个问题,最高评价的答案说:
其他答案已经提到了RAII,这是一个很好的答案.但是,最好的建议是:首先不要分配动态对象!别写了
Foo * x = new Foo();什么时候你可以写
Foo x;代替.
这对我来说似乎是个好听的建议.基于堆栈的东西已经具有良好且良好的自动生命周期管理.
我的问题是:如何将这个声音建议应用于类似的东西
char * buffer = new char[1024];
stream.read(buffer, 1024);
...do stuff...
delete[] buffer;
Run Code Online (Sandbox Code Playgroud)
如果我是愚蠢的应用,但你如何创建阵列而不使用new[]?
char buffer[1024];
stream.read(buffer, 1024 /* or sizeof(buffer) */);
Run Code Online (Sandbox Code Playgroud)