C++中使用“new“来分配内存,虽然仍然可以像C语言中一样使用”malloc“分配内存,但是不推荐,因为”new“不止分配内存还创建对象。
"new"可以分配任何类型的内存,包括自定义的类型。
代码示例
double* a = NULL;//指针最好初始化为空
a = new double;//为变量请求内存
*a = 22.34;
cout << *a << endl;
delete a;//使用后删除
//数组申请内存
char* pvalue = NULL;
//一维数组
char *pvalue = NULL;
pvalue = new char [20];
delete [] pvalue;
//二维数组,以及多维数组
char **b_pvalue = NULL;
b_pvalue = new char *[m];
for(int i =0; i < m; i++)
{
b_pvalue[i] = new char [n];
}
for(int i =0; i < m; i++)
{
delete [] b_pvalue[i];
}
delete [] b_pvalue;
//三维数组
char ***t_pvalue = NULL;
t_pvalue = new char *[l];
for(int i = 0; i < l ; i++)
{
t_pvalue[i] = new char **[m];
for(int j =0; j < m; j++)
{
t_pvlue[i][j] = new char *[n];
}
}
for(int i = 0; i < l; i++)
{
for(int j = 0; j < m; j++)
{
delete [] t_pvalue[i][j];
}
delete [] t_pvalue[i];
}
delete [] t_pvalue;
#include<iostream>
using namespace std;
int count = 0;
class Box
{
public:
Box()
{
count++;
cout << "被实例化" << count << "次" << endl;
}
};
int main()
{
Box* box = NULL;
box = new Box [6];
delete [] box;
return 0;
}
本文章使用limfx的vscode插件快速发布