c++ - 这段代码会避免内存泄漏吗?

标签 c++

我不确定下面的代码是否会导致任何内存泄漏?

char **a;
a = new char* [m];
a[0] = new char[m * n]; // allocate all need
for(int i=1; i<m; i++)
{
a[i] = a[i-1] + n;//allocate every pointer
}
delete[] a[0];
delete[] a;

最佳答案

如果您的代码运行完成,则没有内存泄漏。如果抛出任何异常,那么你就会泄漏。

关于c++ - 这段代码会避免内存泄漏吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6955507/

相关文章:

c++ - 使用边缘检测计算三角几何中的顶点法线

c++ - 我可以提供对 OpenCV 矩阵的只读访问吗?

c++ - 如何从线程发出信号并且单独的函数可以连接到信号?

.net - 实时监控技术

c++ - 变量在 Cocos2d-x for Blackberry 中失去值(value)

c++ - C++类模板继承和运算符=

c++ - 从 C++ 调用 C 函数, "no matching function"错误

c++ - 想要创建打开控制台并将用户输入作为命令的应用程序

c++ - 浅拷贝到 Protocol Buffer 的字节字段

c++ - 在不破坏封装的情况下访问功能替代品