C++的 小问题 1 new,delete函数 什么意思、
发布网友
发布时间:2022-05-14 08:46
我来回答
共3个回答
热心网友
时间:2024-03-17 14:23
new和delete不是函数,它们是操作符。
简单地说,new操作符可以完成c语言中的malloc函数功能。
char *p=new char[n+1];//开辟新的内存空间
就相当于:char* p = (char*)malloc((n+1) * sizeof(char));
delete可以完成c语言中的free函数的功能:
delete [] temp;就相当于free(temp)。
当然,new和delete的功能是比malloc和free强大的。
热心网友
时间:2024-03-17 14:23
1.首先你声明了一个字符串指针,char * temp;
2.在第一次循环中给指针赋值了《即让它指向了一段内存中的区域,即为left(str,i),i =0》
如果没有delete[]temp的话,那么再第二次循环的时候这个指针又重新指向了一块地方,那么原先的内存区域就没有地方指向了,所以要释放掉
3.这是我的理解,但是是在for循环里面,不知道如果不释放的话。是不是出了for之后就会自动释放掉呢?请高手说下,就像在在for循环里面写int a =1;出了for a 就没意义了
热心网友
时间:2024-03-17 14:24
new 创建对象;
delete 释放对象