zoukankan      html  css  js  c++  java
  • 程序不稳定是因为C++基础不扎实

    最近开发的程序,逻辑上都实现了,但是感觉运行不稳定,程序时不时崩溃(不是逻辑运行不正确),至少找出2个错误:

    情况1:
    char* szRemoteReal = new char[MAX_LENGTH]; memset(szRemoteReal, 0, MAX_LENGTH);
    一定要memset,否则里面内容是随机的,岂不出问题?

    情况2:
    char* szRemoteReal = new char[MAX_LENGTH];
    一定要delete[],而不是delete

    情况3:
    野指针,这是最危险的情况,这个我倒是已经理解了:http://www.cnblogs.com/findumars/p/3698013.html

    情况4:
    memset(p, 0, sizeof(p));
    初始化长度不正确

    情况5:

    删除不当指针,也会造成错误。有些对象其实是指向系统区的,不一定是自己可以删除的(比如没有初始化指针就删除,此时指向0xCDCDCDCD,就当场崩溃了)

    情况6:静态变量未初始化就使用

    情况7:在没有上锁的情况下,使用解锁语句

    总结:程序不稳定有很多原因,上次看到过一篇文章:

  • 相关阅读:
    Mybatis源码中最重要的几个类
    学习爬虫-运营商积分
    IntelliJ IDEA 最新版 2019.2.4 激活 (持续更新)(含windows和Mac)
    归并排序之求小和
    归并排序
    理解递归
    插入排序
    对数器
    冒泡排序
    mysql 数据库名称,中间带有中划线问题
  • 原文地址:https://www.cnblogs.com/findumars/p/4550462.html
Copyright © 2011-2022 走看看