在c语言中,常常利用 malloc 和 free 来动态的获取和释放内存。
但是在C++语言中,并不使用 malloc 和 free ,而是使用和Java相近的关键词 new 和 delete 。
规则:
//C++中通过运算符new申请动态内存
new <类型名> (初值) ; //申请一个变量的空间
new <类型名>[常量表达式] ; //申请数组
//如果申请成功,返回指定类型内存的地址;
//如果申请失败,抛出异常,或者返回空指针(nullptr)。(C++11)
// 动态内存使用完毕后,要用delete运算符来释放。
delete <指针名>; //删除一个变量/对象
delete [] <指针名>; //删除数组空间
示例:
//获取内存
int a = new int(1);//获取内存,并存入初始值1
char[] s = new char[10];//获取10个char类型的内存空间。
//释放内存
delete a;//释放掉单个内存a
delete[] s;//释放掉数组内存s

被折叠的 条评论
为什么被折叠?



