![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
高质量编程
文章平均质量分 74
亡鸿
一zhi在流浪的鸿雁
展开
-
高质量C/C++编程之表达式和基本语句
1.优先级规则1: 如果代码行中运算符比较多,用括号确定表达式的操作顺序,避免使用默认的优先级2.复合表达式使用复合表达式的理由:书写简介,可以提高编译效率规则1: 不要编写太复杂的复合表达式规则2: 不要有多用途的复合表达式规则3: 不要将复合表达式和“真正的数学表达式”混淆3.if语句bool变量与零值比较:规则1: 不可将布尔变量直原创 2014-04-08 21:47:25 · 182 阅读 · 0 评论 -
高质量C/C++编程之其他编程经验
1.使用const提高函数的健壮性const除了可以定义常量,更大的魅力是它可以用来修饰函数的参数、返回值,甚至函数的定义体。被const修饰的”对象“都受到强制保护,可以防止以外的变动,可以提高程序的健壮性。建议:use const wherever you need1) 用const修饰函数的参数 # 如果是出参,无论它是什么数据类型,也无论它采取的是指针原创 2014-04-10 21:58:28 · 185 阅读 · 0 评论 -
高质量C/C++编程之类的构造函数、析构函数和赋值函数
每一个类只有一个析构函数和一个赋值函数,但可以有多个构造函数(包含一个拷贝构造函数,其它的称为普通构造函数)。对于类A,如果不想编写这些函数,那么C++编译器会自动为A产生四个缺省的函数:A(void); //缺省的无参构造函数A(const A &a); //缺省的拷贝构造函数~A(void);原创 2014-04-10 20:15:15 · 204 阅读 · 0 评论 -
高质量C/C++编程之C++高级特性
相对于C函数,C++增加了重载overload、内联inline、const和virtual四种新机制。重载和内联机制既可以用于全局元素也可以用于类的成员函数。const和virtual机制仅用于类的成员函数。1.函数重载在C++中,可以将语义、功能相似的几个函数使用同一个名字表示。使用重载的理由:1)便于记忆,提供函数的易用性。2)类的构造函数需要重载机制原创 2014-04-10 15:31:28 · 408 阅读 · 0 评论 -
高质量C/C++编程之常量
1.常量常量的两种定义方法:1)#define定义宏常量2)const定义常量规则1: 尽量使用含义直观的常量来表示那些将在程序中多次出现的数字或字符串2.const和#define的比较const常量较之#define定义的宏常量有更多优点:1)const常量有数据类型,而宏常量没有 编译前对const常量做类型安全检查,而宏常量只做字符替换原创 2014-04-08 23:26:33 · 165 阅读 · 0 评论 -
高质量C/C++编程之函数设计
函数接口的两大要素是参数和返回值。C语言中,函数的参数和返回值的传递方式有两种值传递pass by value和指针传递pass by pointer。C++中,更多采用的是引用传递pass by reference。引用传递性质像指针传递,但使用方式更像值传递。1.参数的规则规则1: 参数的书写要完整,不能贪图省事只写参数类型而忽略参数名字,如果函数没有参数,用void填原创 2014-04-09 10:48:38 · 202 阅读 · 0 评论 -
高质量C/C++编程之程序的版式
1.空行规则1: 每个类声明之后、每个函数定义之后加空行规则2: 在一个函数体内,逻辑上密切相关的语句间不要加空行,其他地方加空行分隔2.代码行规则1: 一行代码只做一件事规则2: if、for、while、do等语句自占一行,执行语句不得紧跟其后; 执行语句不论多段,都使用{},防止书写失误建议1: 尽量在定义变量的同时初始化该变量原创 2014-04-08 20:33:27 · 148 阅读 · 0 评论 -
高质量C/C++编程之文件结构
每一个C/C++程序通常分为两个文件:1)头文件:用于保存程序的声明declaration2)定义文件:用于保存程序的实现implementation1.版权和版本的声明位于头文件和定义文件的头部2.头文件结构三部分组成:1)头文件开头处的版权和版本声明2)预处理块3)函数和类结构声明等规则和建议:规则1:为了防止头文件被重复引用,使用i原创 2014-04-08 20:08:34 · 279 阅读 · 0 评论 -
高质量C/C++编程之内存管理
内存管理1.内存分配方式1)从静态存储区分配 内存在程序编译时就已经分配好,且在程序的整个运行期都存在。如全局变量,static变量存放在这里。2)在栈上创建 在执行函数时,函数内局部变量的存储单元都可以在栈上创建。函数执行结束时,这些存储单元自动被释放。 栈内存分配运算内置于处理器的指令集,效率很高,但是分配的内存容量有限。3)从堆上分配,亦原创 2014-04-09 17:37:53 · 216 阅读 · 0 评论 -
高质量C/C++编程之命名规则
比较著名的命名规则当推Microsoft公司的“匈牙利”法。该命名规则的主要思想:在变量和函数中增加前缀以增进人们对于程序的理解。1.共性规则规则1: 标识符应该直观且可拼读,可望文知意,不必进行解码规则2: 标识符的长度应当符合“min-length & max-imformation”规则3: 命名规则尽量与采用的操作系统或开发工具的风格保持一致原创 2014-04-08 21:04:56 · 255 阅读 · 0 评论 -
高质量C/C++编程之类的继承和组合
对于C++程序而言,设计孤立的类比较容易,难的是正确设计基类及其派生类。当前面向对象技术的应用热点是COM和CORBA1.继承Inheritance规则1: 如果类A和类B毫不相关,不可以为了B的功能更多些,而让B继承A的功能和属性规则2: 若在逻辑上B是A的一种”a kind of“,允许B继承A的功能和属性规则3: 继承的概念在程序世界和现实世界并不完全相同原创 2014-04-10 20:44:29 · 208 阅读 · 0 评论