三维指针的典型例子

	/*创建三维数组并将m_CImage复制进三维数组*/
	m_pBits= (BYTE***)new   BYTE**[3];   
	for(int i=0;i<3;i++)  
	{ 
		m_pBits[i] = (BYTE**)new  BYTE*[h];   
	}   
	for   (int   i=0;   i<3;   i++)   
	{          
		for   (int   j=0;   j<h;   j++)         
		{   

			m_pBits[i][j]=new BYTE[w];   
		}
	}

	/*释放三维数组*/
	if ( m_pBits!=NULL)
	{
		int h=m_CImage.GetHeight();
		for   (int   i=0;   i<2;   i++)   
		{          
			for   (int   j=0;   j<h;   j++)         
			{   

				delete[] m_pBits[i][j];   
				m_pBits[i][j]=NULL;
			}
		}
		for (int   i=0;   i<2;   i++)
		{
			delete[] m_pBits[i];  
			m_pBits[i]=NULL;
		}
		delete[]  m_pBits;
		m_pBits=NULL;
	}

		/*创建二维数组*/
		int** randNum;		
		randNum=new int*[2];
		randNum[0]=new int[m_int_RandNum];
		randNum[1]=new int[m_int_RandNum];
		int k=0;
		srand((unsigned)time( NULL )); 
		for(int i=0;i<2;i++)
		{
			for(int j=0;j<m_int_RandNum;j++)
			{
				randNum[i][j]=rand()%11+1;
			}
		}

		
		/*释放二维数组*/
		for(int i=0;i<2;i++)
		{
			delete [] randNum[i];
			randNum[i]=NULL;
		}
		delete []randNum;
		delete []sort;
		randNum=NULL;
注意:指针使用前需在构造函数中初始化,一般而言就是p=NULL;,若不初始化就会产生断言错误:ASSERT_VALID fails with NULL pointer
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值