一维静态指针和一维new分配的动态指针,均不可以delete.

char *simFilePath = "G:\\WorkSpace\\FileOperation\\SimilarityResult\\SimilarityTotalResult.txt";

simFilePath = NULL; // 正确,指针数值被赋为NULL...

delete []simFilePath // 错误: 字符串指针被复制了,就是一个普通的指针类型.

 

  1. 一维 定义时初始化的 字符串指针 属于静态指针, 不可以delete .若使用delete删除则是操作栈区,导致程序错误无法结束,但VS编译器又不提示出错.
  2. 一维 new分配的字符串指针,也不可以delete. 若使用delete删除则是操作栈区,导致程序错误无法结束,但VS编译器又不提示出错.
  3. 二维及多维的 动态指针(使用new声明,delete释放) , 需要释放空间.

字符串指针 与 new type * 动态分配不同.new动态分配必须释放delete,但是指针是静态变量无需删除.但要注意置NULL.

转载于:https://www.cnblogs.com/xiangwengao/archive/2012/03/27/2419265.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值