当前位置: 首页 > news >正文

《高质量C++/C编程指南(林锐)》学习笔记

1. 不可以将布尔变量直接和TRUE、FALSE、1、0进行比较。应该用if(flag)或者if(!flag)。

    整型变量直接用”==“或者”!=“与0进行比较。

浮点变量不可以直接用”==“或者“!=”与数字比较。

指针变量用“==”和“!=”与NULL直接进行比较。

2. 可以使用诸如if(NULL == P)来避免if(NULL=P)类错误。

3. 在有循环嵌套的时候,尽量将长循环放在最内层,这样可以提高效率。

4. 可以使用#define来定义宏常量,用const来定义const常量。const常量有数据类型,宏常量没有数据类型。编译器可以对const常量进行类型安全检查。在C++中,const常量 完全取代宏常量。

5. C语言中,函数参数传递有值传递和指针传递两种方式;C++语言中,函数参数传递有值传递、指针传递以及引用传递。如果函数无参数,使用void进行填充。

6. 使用宏断言assert对程序进行检查。assert仅在Debug版本起作用。Debug版本主要用于内部调试,Release版本主要发行给用户使用。

7. return语句不可以返回“栈内存”的“指针”或者“引用”,因为该部分内存在函数体结束时会被自动销毁。

8. 内存分配方式,如全局变量、static变量等在程序编译时就已经分配好的内存在静态存储区域。如函数内局部变量等存储单元在栈上分配内存。如用malloc或new申请的动态内 存从堆上分配。

9. 内存容量计算。使用sizeof计算数组容量是可以的,若使用sizeof识别指针变量所指向的容量大小,只能得到一个指针变量的字节数,而不是其所指的内存容量。另外,当数组 作为函数的参数进行传递时,该数组自动退化为同类型的指针。

10. 当指针p被free掉之后,其地址仍然不变,但是该地址对应的内存是垃圾,p变成“野指针”,此时需要把p设置为NULL。

11. inline是一种“用于实现的关键字”,而不是一种“用于声明的关键字”。定义在类声明中的成员函数将自动地成为内联函数。内联可以提高执行效率,但是以代码膨胀为代价,要 权衡执行效率和内存空间。

12. C++编译器编译任意一个类时,会自动产生四个缺省函数:无参数构造函数,拷贝构造函数,析构函数,赋值函数。


http://www.taodudu.cc/news/show-1944781.html

相关文章:

  • 【physx/wasm】在physx中添加自定义接口并重新编译wasm
  • excel---常用操作
  • Lora训练Windows[笔记]
  • linux基础指令讲解(ls、pwd、cd、touch、mkdir)
  • InnoDB 事务处理机制
  • 启明云端ESP32 C3 模组WT32C3通过 MQTT 连接 AWS
  • 高质量电子书分享
  • 构建高质量的前端工程完全指南
  • C#网络编程(Socket编程)
  • 改善代码质量的编程规范
  • 高质量程序好文分享之王垠《编程的智慧》
  • 高质量的C/C++编程(2)----程序员必看系列
  • 高质量计算机学习网站
  • 林锐的《高质量编程》学习笔记——内存分配方式
  • c语言是高级编程语言吗,C语言是高级编程语言吗?
  • 推荐一些高质量的自学网站
  • 《高质量C/C++编程》读书笔记
  • 高质量编程之编译警告级别
  • 高质量C编程00-汇总
  • C/C++ 高质量编程--内存,二重指针,指针的高级使用解析 3
  • 林锐高质量编程中的几道面试题
  • 人类高质量编程语言Delphi盛大发布2021新版本RAD Studio 11 Alexandria
  • 嵌入式C高质量编程培训心得笔记
  • 林锐:《高质量的C/C++编程》
  • 高品质编程
  • 高质量C++/C编程指南
  • 高质量编程
  • 学习笔记之高质量C++/C编程指南
  • c语言学生成绩管理系统(顺序表实现)
  • C语言中学生成绩管理系统
  • 数组实现c语言学生成绩管理系统
  • 学生成绩管理系统(C语言实现)
  • c语言学生成绩管理系统的设计,C语言学生成绩管理系统设计
  • c语言学生成绩管理系统讲解,C语言学生成绩管理系统(含源代码)精编.doc
  • C语言学生成绩管理系统设计 《C语言程序设计》实训报告
  • 课设——C语言学生成绩管理系统