1、
不要让main函数返回void:
Void main()这样的代码在vc中是容许的但是,gcc就不行了!
要想保证程序具有良好的可移植性能,就要标明main函数返回int,而不是void。强烈建议使用以下形式:
Int main()
{
return 0;
}
2、
区分0的4中面孔:
FALSE\TRUE是int型,而false、true是bool类型;
3、避免那些运算符引发的混乱:
C++的运算符比较多,他们拥有不同的优先级和结合律,不过,我们可以用括号把意图表示的更清楚,所以不要吝惜使用括号,即使有时并不必要:
if( (a & b) == c)
4、
对表达式计算顺序不要想当然:
表达式计算顺序是一个很繁琐但是很有必要的的话题:
1) 针对操作符优先级,建议多写几个括号,打你的意图表达的更清晰;
2) 注意函数参数和操作数的评估求值顺序问题,小心陷阱,让你的表达式不要依赖设计顺序;
5、
小心宏#define使用中的陷阱:
1) 用宏定义表达式时,要使用完备的括号;
由于宏只是简单地字符替换,宏参数如果是复合结构,那么替换后要是不要括号保存个宏参数,就会出现优先级混乱问题。
2) 使用宏时,不允许参数发生变换:
3) 用大括号将宏所定义的多条表达式括起来:
如果没有大括号,宏定义中的多条表达式很有可能只用第一句被执行;
6、
不要忘记指针变量初始化:
7、
逗号分隔的表达式由于语言规则的不直观,容易产生理解上的误差,在使用逗号分隔表达式是,c++会确保每个表达时都被执行,而整个表达式的值,则是最右边表达式的结果;
8、
函数指针在运行时的动态调用中应用广泛。但是直接定义复杂的函数指针会由于有太多的括号,而是代码的可读性下降。使用typedef可以让函数指针更直观和以维护。
9、
防止重复包含头文件:
1)
为了避免重复包含头文件,建议在声明没个头文件时采用“头文件卫士”加以保护,如:
#ifndef _PROJECT_PATH_FILE_H_
#define _PROJECT_PATH_FILE_H_
...........
#endif
2)
为了避免宏名撞车,头文件基于所在项目源代码树的全路径而命名;
10、
优化结构体中元素的布局:
如下我们遵循结构体默认的字节对齐方式:结构体中的变量按照类型大小从小到大一次声明,尽量减少中间的填充字节;
#include <iostream>
using namespace std;
struct A
{
int a;
char b;
short c;
};
struct B
{
char b;
int a;
short c;
};
int main()
{
// sizeof(struct A);
// sizeof(struct B);
cout << " 结构体A" << sizeof(struct A) << endl;
cout << " 结构体B" << sizeof(struct B) << endl;
return 0;
}
分享到:
相关推荐
Visual C++程序设计——基础与实例分析源代码
超越c++标准库——boost程序库导论 对于学习boost库或TR1库是最有用的文档...
c++实现的 可保存的 mfc 程序 ————————————
《C++基础教程——从问题分析到程序设计(第2版)》 源代码 提供部分课后习题答案
C_C++语言硬件程序设计——基于TMS320C5000系列DSP
不管你是想将已经存在的原生代码应用移植到Android平台上还是准备开始在Android平台上进行软件开发,使用《Android C++高级编程——使用NDK》一书提供的技术可以构建更出色的应用。本书将展示构建性能更好的复杂原生...
《高质量程序设计指南——C++ C语言(第3版)》.pdf 扫描版 个人觉得很经典的一本书,有时间可以仔细看看,分享给大家! 仅限自学,勿用于商业用途!
C++程序设计——关于世界杯足球赛比赛规则
数据结构与程序设计——C++语言描述(答案解析) 英文版本 要的下!
《C++程序设计教程》是作者总结两年教学实践的经验写成的,适合用作大学计算机专业和非计算机专业的程序设计基础课程教材,也可供自学的读者使用。本资源提供了该教程内习题的代码答案.cpp;
C++程序设计--谭浩强版,共14章,有书签
《C++基础教程——从问题分析到程序设计》书中的代码 包括例题 与课后题
谭浩强编写的C语言程序设计和C++程序设计两个教程打包 完整的电子档
C++程序设计—大数算法,内附代码(加减乘除四则运算),无需装软件即可运行;并附于代码分析和心得体会,全程任务,一步到位!!
电子书 高质量程序设计指南——C++_C语言(第二版)
C++基础教程——从问题分析到程序设计(第2版)的随书配套光盘
C++面向对象程序设计——基础、数据结构与编程思想 (第4版)
数据结构与程序设计—— C++描述(高等教育出版社) Bobert L.Kruse Alexander J.Ryba
林锐的高质量程序设计指南——C++/C语言,绝对的PDF完全版。