申请内存的方法
不合理:
- int *GetArray( int n )
- {
- int *p = new int[n];
- for ( int i = 0; i < n; i++ )
- {
- p[i] = i;
- }
- return p;
- }
合理:
- void GetArray( int *p, int n )
- {
- for ( int i = 0; i < n; i++ )
- {
- p[i] = i;
- }
- }
解析:
检查内存泄露的最好办法,就是检查完全配对的申请和释放(在代码的同一层次),在函数中申请而在外部释放,将导致代码的一致性变差,难以维护。而且,你写的函数不一定是你自己使用的,这样的函数别人会不知道该怎么适当的使用,如果它是一个DLL的导出函数,并且你在不同的平台下使用了,便会导致系统崩溃。最好的解决办法就是在函数调用的外面将内存申请好,函数只对数据进行操作。
C++中申请内存的正确方法
最新推荐文章于 2024-10-05 20:44:42 发布
本文探讨了在编程中防止内存泄露的方法,强调了在函数内部申请内存并在外部释放的重要性,以保持代码的一致性和避免潜在的系统崩溃。
399

被折叠的 条评论
为什么被折叠?



