- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
与零比较的规则 整型变量与零比较 不应写成 if (value) //容易误解为布尔变量 if (!value) 应写成 if (value == 0) if (value != 0) 写成如下形式能防止==误写为= if (0 == value) if (0 != value) 与零比较的规则 实型变量与零比较 不应写成 if (x == 0.0) // float和double变量都有精度限制 应写成 if ((x = -EPS) ((x = EPS)) if (fabs(x) = EPS) 与零比较的规则 指针变量与零比较 不应写成 if (p == 0) //容易误解为整型变量 if (p != 0) if (p) //容易误解为布尔变量 if (!p) 应写成 if (p == NULL) //强调p是指针变量 if (p != NULL) 常量规则 尽量使用含义直观的常量来表示多次出现的数字或者字符串 #define PI 3.14159 const float PI=3.14159; C++中用const常量完全取代宏常量 需要对外公开的常量集中放在一个公共的头文件中,不需要对外公开的常量放在定义文件的头部 常量规则 怎样建立在类中恒定,且仅在类中有效的常量? #define定义的宏常量是全局的 const数据成员可以吗? 常量规则 class A {… const int SIZE = 100;//不能在类声明中初始化const数据成员 int array[SIZE]; //类的对象未被创建时,SIZE值未知 }; const数据成员只能在类构造函数的初始化表中进行 class A {… A(int size); //构造函数 const int SIZE; }; A::A(int size) : SIZE(size) {… } A a(100); //对象a的SIZE值为100 A b(200); //对象b的SIZE值为200 常量规则 怎样建立在整个类中都恒定的常量呢? const数据成员只在某个对象生存期内是常量,而对类而言是可变的 因为类可以创建多个对象 不同对象的const数据成员值不同 不能指望const数据成员了 常量规则 怎样建立在整个类中都恒定的常量呢? 应该用类中的枚举常量来实现 class A {… enum {SIZE1 = 100, SIZE2 = 200}; //枚举常量 int arrayA[SIZE1]; int arrayB[SIZE2]; }; 缺点: 隐含数据类型是整数,其最大值有限,且不能表示浮点数 动态数组 一维动态数组 int *p = NULL; p = (int *) malloc(n * sizeof (int)); … p[i] //像使用一维数组一样使用 … 二维动态数组 int *p = NULL; p = (int *) calloc(m * n, sizeof (int)); … p[i*n+j]); //像使用一维数组一样使用 … 函数设计原则 函数的功能要单一,不要设计多用途的函数 函数的规模要小,尽量控制在50行代码以内 1986年IBM在OS/360的研究结果: 大多数有错误的函数都大于500行 1991年对148,000行代码的研究表明: 小于143行的函数比更长的函数更容易维护 程序版式 代码行内的空格——增强单行清晰度 关键字之后加空格 函数名之后不加空格 赋值、算术、关系、逻辑等二元运算符前后各加一空格,但一元运算符前后一般不加空格 sum = sum + term; (向后紧跟,) , ;向前紧跟,紧跟处不留空格 , ;后留一个空格 Function(x, y, z) for (initialization; condition; update) [] . - 前后不加空格 对表达式较长的for和if语句,为了紧凑可在适当地方去掉一些空格 for (i=0; i10; i++) if ((a+bc) (b+ca) (c+ab)) void Func1(int x, int y, int z); // 良好的风格 void Func1 (int x,int y,int z); // 不良的风格 printf(%d%d%d, a, b, c); // 良好的风格 printf(%d%d%d,a,b,c); // 不良的风格 if (year = 20
您可能关注的文档
最近下载
- RME-FireFace-UC中文说明书.pdf
- 2025年(完整版)十八项核心制度培训考核试题(含答案).docx VIP
- 变电站接地网深井接地实施方案计算.doc VIP
- 集成测试:集成测试与持续集成:集成测试基础理论.docx VIP
- 《复变函数与积分变换》习题《复变函数与积分变换》习题册《复变函数与积分变换》习题册《复变函数与积分变换》习题册.doc VIP
- 婴幼儿托育服务与管理人才培养方案 .pdf VIP
- 小班娃娃家课件.pptx VIP
- 森林防火通道施工组织设计.doc VIP
- 精品解析:河北省邢台市2025-2026学年上学期第二次学业质量检测八年级数学试题(解析版).docx VIP
- IP形象合同协议版.docx VIP
原创力文档


文档评论(0)