申请内存的方法
不合理:
- 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-09-08 21:33:15 发布