高效C++规划
推荐写C++代码风格。看似easy。坚持不易,且写且珍惜!
--陈国林
1. 版本号和版本号声明
版本号和版本号文件声明位于头文件和定义文件的开头,主要内容
(1)版本号信息
(2)文件名、标识符、摘要
(3)当前的版本、作者、改动日期
(4)版本号历史信息
2. 程序版式
(1)在每一个类声明之后、每一个函数定义之后都要加上一个空行
(2)一行代码仅仅做一件事情
(3)if、for、while、do各占一行。运行语句不得紧跟其后,不论运行语句多少都加上{}
(4)尽量在定义一个变量的时候就初始化该变量
(5)程序分界符{和}必须独占一行而且左对齐
(6)代码长度不宜超过70至80个字符。超过之后拆成新行。操作符放在新行之首
(7)应该把*和&修饰符靠近变量名,比如int *x = &a
(8)类中建议先把public类型写在前面,再写private类型
3. 命名规则
(1)类名和函数名要用大写字母开头单词组成
(2)变量和參数要使用小写字母开头单词组成
(3)常量全用大写字母,用下划线切割单词
(4)静态变量加上前缀s_。比如static int s_num
(5)全局变量加上前缀g_,比如int g_num
(6)类的数据成员前面加上m_,能够和成员函数和静态成员区分开
4. 表达式和基本语句
(1)不可将bool值直接和true、false、0、1进行比較。
假设flag是bool类型,直接if(flag)这样推断就可以
(2)整型变量应该要直接和0比較,比方num为整型变量。if(num == 0)
(3)不可将浮点型变量直接用 == 和 !=来进行比較
(4)指针变量要直接和NULL进行比較,比如p为指针变量,if(p != NULL)
5. 函数设计
(1)函数參数的书写要完整,假设没有參数,用void填补
(2)假设參数有指针,而且该指针仅仅是读取作用应该要加上const,防止指针意外改动
(3)在函数的内部入口应该要对參数的有效性进行检查
(4)函数的功能要单一。不要设计多用途的函数
(5)函数体的规模要小。控制在50行代码
6. 内存管理
(1)malloc和new申请内存之后,应该要马上检查指针是否为NULL,防止使用指针值为NULL的内存。
(2)要对数组和动态内存赋初值。防止将未初始化的内存作为右值使用
(3)用free或delete释放了内存之后。马上将指针指向NULL,防止产生野指针。
版权声明:本文博主原创文章,博客,未经同意不得转载。
相关文章
- C++ 使用 TinyXml 解析 XML 文件
- 将C/C++程序的变量数据导入到MATLAB中的方法
- 【时间规划】C/C++发展之路--读书
- 《C和C++程序员面试秘笈》——第1章 C/C++程序基础
- 《C++ 黑客编程揭秘与防范》——第1章 黑客编程入门
- 纪念逝去的岁月——C++实现一个栈
- C++:类(三)—— 继承与多态
- C++ 泛型 编写的 数据结构 队列
- 181、【动态规划】leetcode ——72. 编辑距离(C++版本)
- 180、【动态规划】leetcode ——583. 两个字符串的删除操作:两种动态规划思路(C++版本)
- 159、【动态规划】leetcode ——322. 零钱兑换:二维数组+一维滚动数组(C++版本)
- 157、【动态规划】leetcode ——377. 组合总和 Ⅳ:二维数组+一维滚动数组(C++版本)
- 156、【动态规划】AcWing ——3. 完全背包问题:二维数组+一维滚动数组(C++版本)
- 155、【动态规划】leetcode ——474. 一和零:三维数组+二维滚动数组(C++版本)
- 152、【动态规划】leetcode ——416. 分割等和子集:滚动数组+二维数组(C++版本)
- 149、【动态规划】leetcode ——343. 整数拆分(C++版本)
- 146、【动态规划】leetcode ——746. 使用最小花费爬楼梯:递归法+迭代法(C++版本)
- 145、【动态规划】leetcode ——70. 爬楼梯:暴力法+动态规划(C++版本)
- 130、【贪心算法/动态规划】leetcode ——122. 买卖股票的最佳时机 II(C++版本)
- 129、【动态规划/贪心算法】leetcode ——53. 最大子数组和(C++版本)
- 30、【栈和队列】完全平方数(C++版)——BFS和动态规划解法
- C++ 让控制台运行到最后按下回车键才结束的3种方法
- c++数组中找出最大值最小值
- 蓝桥杯练习题十三 - 第几个幸运数(c++)
- C/C++教程 第七章 —— 自制标准库