摘要: 一、参考: 本文主要参考《C++编程调试秘笈》一书。 在编写C++代码时,我们不应该自己捕捉缺陷,而是由编译器和可执行代码为我们做这些事情,该书便提供了这样的一个思考。作者以“调试器友好”的方式编写了一些方便安全检查时所需的宏代码并针对C++代码中最为常见的各种错误制定了一些规则,并用代码实现,使之 阅读全文
posted @ 2021-08-03 17:09 LyAsano 阅读(577) 评论(0) 推荐(1) 编辑
摘要: 对于内存泄露,这是一个很重要的问题,我们分析了几个例子,来更全面的定义内存泄露。 例如如果我们分配了内存(new操作符),释放必须由某对象负责:它必须使用正确的delete操作符 删除这块内存,并且该任务只执行一次。 这里把删除内存的责任称为对象的所有权, 所以内存泄露是由于被分配的内存的所有权丢失 阅读全文
posted @ 2021-08-03 11:20 LyAsano 阅读(77) 评论(0) 推荐(0) 编辑
摘要: 避免"索引越界"错误的规则如下(针对C++): 不要使用静态或动态分配的数组,改用array或vector模板 不要使用带方括号的new和delete操作符,让vector模板为多个元素分配内存 使用scpp::vector代替std::vector,使用scpp::array代替静态数组,并打开安 阅读全文
posted @ 2021-08-03 11:15 LyAsano 阅读(210) 评论(0) 推荐(0) 编辑
摘要: 参考:https://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777416.html 一、const介绍 在C语言中我们想定义常量一般是用#define 宏来实现的,但是C++里面用const修饰常变量,从而便于管理代码。 常变量: cons 阅读全文
posted @ 2021-08-03 09:50 LyAsano 阅读(90) 评论(0) 推荐(0) 编辑