关于delete函数
发布网友
发布时间:2022-05-14 08:46
我来回答
共2个回答
热心网友
时间:2023-10-12 00:50
str=new char(5);申请空间太小了吧,光HELLO就5个字符,还得放字符串结束标志符
热心网友
时间:2023-10-12 00:51
使用 delete 运算符可解除分配使用 new 运算符分配的内存(注意,new、delete不是函数而是操作符!)。
c++中编程的时候经常要用到堆内存的分配,通常使用的操作符是new,这个时候就必然要用到delete去释放申请的内存空间。
此时至少要遵循以下原则:
(1)new和delete是成对出现的。只出现一个是错误的或不规范的写法,即使能编译通过,也会有安全隐患;
(2)使用的new与delete要相同。也就是说如果你在 表达式中使用了 new[],你必须在对应的 表达式中使用 delete[]。如果你在 表达式中使用new,你在对应的 表达式中使用delete即可。
(3)对一个指针只能使用一次运算符delete;