《高质量C++_C编程指南》读书笔记
来源:互联网 发布:vs软件 编辑:程序博客网 时间:2024/05/18 04:27
第一章 文件结构
1 .h文件保存声明,.c文件保存程序的实现(定义)。
2.版权和版本声明
/*
*Copyright(c)2012,novatek 版权信息
*All rights reserved
*
*文件名称:filename.h 文件名称
*文件标识:
*摘要:
*
*当前版本:1.1
*作者:chengengsen
*完成日期:2012.8.27.
*
*取代版本:1.0
*原作者:xxx
*完成日期:xxxx.xx.xx
*/
3.头文件(.h)的结构
a版权和版本声明
b预处理块
1用#ifndef/define/endif防止头文件重复被引用
2用#include<filename.h>来引用标准库的头文件、用#include"filename.h"来引用非标准库头文件
c函数和类结构声明等
1头文件只存放声明,不存放定义
2.不提倡用全局变量,尽量不要再头文件出现extern int value这类声明
4.定义文件(.c)的结构
a.版权和版本声明
b.对头文件的引用
c.程序的实现体
5头文件的作用
a.通过头文件调用库功能,隐藏源码。
b.头文件能加强类型安全检查。
6.目录结构
头文件保存到include目录,定义文件保存到source目录
第二章 程序的板式
1 空行
a.每个类生声明之后、函数定义结束之后都要加空行
b.每个函数体内,逻辑上关系密切的语句之间不加空行,其他地方赢家空行。
2.代码行
a.一行代码只做一件事情,如只定义一个变量或者只写一条语句。
b. if、for、while、do等语句各自占一行
c.尽量在定义变量的同时初始化该变量(就近原则)
3.代码行内的空格
a关键字之后要留空格
const 、virtual、 inline、 case 关键字之后至少要留一个空格,否则无法辨析关键字
if、for、while等关键字之后应留一个空格再跟左括号,以突出关键字。
b函数名之后不要留空格,紧跟左括号,以和关键字区别
c.逗号之后要留空格,如funciton(x, y, z)。如果‘;’ 不是一行的结束的符号,其后要留空格。如for (A; B; C)
d赋值操作符、比较操作符、算术操作符、逻辑操作符、位域操作符前后应加空格。
4对齐
a { 、}应给各占一行,并且同一列。
5长行拆分
a代码行长度控制在70字符以内
b根据逻辑关系进行代码行分行
6修饰符的位置
a.*、&应该紧靠变量名
7注释
a版本、版权声明
b函数接口说明
c重要的代码行或段落提示
8 类的板式(过了……)
第三章 命名规则
匈牙利法--在变量和函数名中加入前缀以增进人们对程序的理解
如字符都以ch为前缀, 指针都以p为前缀。一个变量的前缀是pppch,表明它是指向字符指针的指针的指针
a最好用英文或其组合,并且用词准确
b最小的长度表达最大的信息量
c命名规则尽量与所采用的操作系统或者开发工具风格保持一致
windows标识符通常采用大小写的混排方式。如AbbCdd
unix标识符通常采用小写加下划线的方式。如add_child
d不出现标识符完全相同的局部和全局变量
e变量名应该适用“名词” 或者 “形容词”+“名词”
f全局函数的名字应当使用动词或者动词+名词
g避免标识符中出现数字编号
第四章 表达式和基本语句
1 代码中运算符较多是,用括号确定表达式的操作顺序,避免使用默认的优先级
2复合表达式
a不编写太复杂的复合表达式
b不编写有多用途的 复合表达式
3if语句
a不可以将布尔变量直接与TRUE、FALSE或者1、0进行比较
直接用if(flag)判断
b整数变量用 == 或 != 直接与0做比较
if (value == 0)
c不可以用浮点变量用“==”或者“!=”与任何数字比较
if (x >= -EPSINON )&&(x<=EPSINON)
d指针变量用“==”或者“!=”与NULL比较
if (p == NULL)
e if (NULL == p)防止出现赋值语句的错误
- 《高质量C++_C编程指南》读书笔记
- 《高质量C++/C编程指南》读书笔记
- 《高质量C++&C 编程指南》读书笔记
- 《高质量C编程指南》--读书笔记
- 《高质量C程序编程指南》读书笔记
- 高质量编程指南读书笔记
- 读书笔记-高质量C++/C编程指南-目录
- 读书笔记-高质量C++/C编程指南-前言
- <<高质量c++c编程指南>>读书笔记2
- 《高质量C++/C编程指南》读书笔记之一
- 《高质量C++/C编程指南》读书笔记之二
- 《高质量 C++/C 编程指南》读书笔记(1)
- <<高质量c++c编程指南>>读书笔记2
- 高质量C++/C编程指南_读书笔记1
- 《高质量C++/C编程指南》读书笔记一
- 《高质量C++/C编程指南》读书笔记二
- 《高质量C++/C编程指南》读书笔记三
- 读书笔记——高质量C++/C编程指南
- 月入过万的程序员职业规划
- AppWidget简单实现
- 我对 action 的理解
- 【技术探究】一种基于虚拟单元可智能增长的内存池研究
- [树形DP] poj 3659 Cell Phone Network
- 《高质量C++_C编程指南》读书笔记
- random在多进程下的奇怪表现
- 如何学习一个新的PHP框架
- 无法识别的属性“type”+IIS没有Asp.net配置选项的解决方法(转)
- 关于Asp.net负载均衡的一些说明介绍
- 黑马程序员_java学习笔记10
- 黑马程序员_java学习笔记11
- MFC封装窗口
- 黑马程序员_java学习笔记12