//new和delete的用法 #include #include using namespace std; /*1:new和delete 操作符是C++的语法,像C语言中的malloc 和 free关键字; malloc和free是C语言的函数,new和delete是C++的操作符,这两个意义不一样。 2: 利用new可以进行这些操作::基础类型变量,分配数组变量,分配类对象。 3:new 运算符动态分配堆内存 使用形式:指针变量=new 类型(常量) 指针变量=new 类型【表达式】 作用:从堆分配一块“类型”大小的存储空间,返回首地址。 其中:“常量”是初始化值,可缺省 创建数组对象时,不能为对象指定初始值。 delete运算符释放已分配的内存空间 使用形式:delete 指针变量; delete【】指针变量 其中:"指针变量必须是一个new返回的指针" */
//new分配基础类型的 int main01() { int *p=(int *)malloc(sizeof(int)); *p=10; free(p);//C语言中分配内存,并且为这个指针变量赋值 int *p2=new int; *p2=20; free(p2);//C++中new关键字 分配基础类型的用法,随后进行赋值 int *p3=new int(30); delete p3; //在分配基础类型时候,直接进行初始化 ,在C语言中用free进行释放, // 而在C++中也可以用delete释放,基础类型直接是delete加上指针变量名; cout |