#include <iostream>
using namespace std;
template <class T>
bool Make1DArray(T *&x,int num)
{
x=new int [num];
if (NULL!=x)
{
return true;
}
return false;
}
template <class T>
void Delete1DArray(T *&x)
{
if (NULL==x)
{
return;
}
delete []x;
x=NULL;
}
template <class T>
bool Make2DArray(T **x,int rows,int cols)
{
x=new T*[rows];
for (int i=0;i<rows;i++)
{
x[i]=new T[cols];
}
return true;
}
template <class T>
void Delete2DArray(T **x,int cols)
{
if (NULL==x)
{
return;
}
for (int i=0;i<cols;i++)
{
delete[]x[i];
}
delete []x;
x=NULL;
}
template <class T>
bool Malloc1DArray(T *x,int num)
{
x=(T *)malloc(sizeof(T)*num);
if (x!=NULL)
{
return true;
}
return false;
}
template <class T>
void Free1DArray(T *x)
{
if (NULL==x)
{
return;
}
free((void *)x);
x=NULL;
}
template <clas
一级二级指针new、delete、malloc、free
最新推荐文章于 2024-06-24 16:42:58 发布
本文通过C++模板函数展示了如何使用new、delete、malloc和free进行动态内存分配和释放,包括一维和二维数组的情况。在main函数中,分别演示了对一级指针和二级指针的动态分配与释放过程。
摘要由CSDN通过智能技术生成