免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7578 | 回复: 6
打印 上一主题 下一主题

[C++] 请问动态数组怎么释放内存? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-18 13:44 |只看该作者 |倒序浏览
//次句在构造函数里
void * pin=new uint8[128][1];


//次句在成员函数里。
delete[]  this->pin;

能释放内存吗?

论坛徽章:
0
2 [报告]
发表于 2008-01-18 18:51 |只看该作者
不知道你这样写会有什么后果,正确的写法应该是这样:
(int *pin)[1] = new unit8[128][1];
然后在其他成员函数中可以调用 delete [] this->pin;

论坛徽章:
0
3 [报告]
发表于 2008-01-18 23:26 |只看该作者
分配一维数组的数组而已,还是数组的new/delete语法
不过,可能是很少见动态分配二维数组,看上去怪怪的

论坛徽章:
0
4 [报告]
发表于 2008-01-19 16:24 |只看该作者
int * pi=new int [4];
int (*pia)= new int [2][4];
delete [] pi;
delete [] pin;
这样都行吗?行的话delete 如何区别二者呢?

论坛徽章:
0
5 [报告]
发表于 2008-01-19 17:10 |只看该作者
工作以来,一直没用过二维的。

论坛徽章:
0
6 [报告]
发表于 2008-01-19 22:48 |只看该作者
原帖由 sww12081234 于 2008-1-19 16:24 发表
int * pi=new int [4];
int (*pia)= new int [2][4];
delete [] pi;
delete [] pin;
这样都行吗?行的话delete 如何区别二者呢?


你自己试试不就知道了.

论坛徽章:
0
7 [报告]
发表于 2008-01-20 21:41 |只看该作者

回复 #1 ATmega32 的帖子

看这个代码你就懂了
// newdelete.cpp

#include <iostream>

using namespace std;

const int kWidth = 10;
const int kHeight = 10;

class newdelete
{
public :
        newdelete();
        ~newdelete();
private:
        char **mArray;
};

newdelete::newdelete()
{
        mArray = new char* [kWidth];
       
        cout << "New Width ..." << endl;
       
        for(int i = 0; i< kWidth; i++)
        {
                mArray = new char[kHeight];
               
                cout << "New Height ..." << i << endl;
        }
}

newdelete::~newdelete()
{
        for(int i = 0; i < kWidth; i++)
        {
                delete[] mArray;
               
                cout << "Delete height ..." << i << endl;
        }
       
        delete[] mArray;
       
        cout << "Delete Width" << endl;
}

int main(void)
{
        newdelete nd;
       
        return 0;
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP