• 一维静态指针和一维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.

  • 相关阅读:
    private知识笔记
    finalize知识笔记
    java实现队列的练习
    测试知识笔记(2)
    static和final知识笔记
    测试知识笔记(1)
    overloading知识笔记
    windows Copssh + git 搭建git服务器
    Java Servlet规范
    身份证验证JS代码
  • 原文地址:https://www.cnblogs.com/xiangwengao/p/2419265.html
Copyright © 2020-2023  润新知