3
return y;
}
或者改写成更加简练的:
return condition ? x : y;
4.9.6 switch 结构
【提示 4-18】:
(1)switch 没有自动跳出的功能,每个 case 的子句的结尾不要忘了加上 break,否则当
表达式与某一个 case 子句匹配并执行完它的语句序列后,将接着执行下面 case 子句的语句
序列,这就导致了多个分支重叠(除非有意让多个分支共享一段代码)。
(2)不要忘记最后那个 default 子句。即使程序真的不需要 default 处理,也应该保留
语句 default : break;,这样并非多此一举,而是为了防止别人误以为你忘了 default 处理,以
及出于清晰性和完整性的考虑。
第 5 章 C++/C 常量
5.2 正确定义符号常量
【建议 5-1】:尽量使用含义直观的符号常量来表示那些将在程序中多次出现的数字或字符
串。例如:
#define MAX 100 /* C 语言的宏常量 */
const int MAX = 100; // C++语言的 const 常量
const float PI = 3.14159; // C++语言的 const 常量
【规则 5-1】:
(1)在 C++语言中,需要对外公开的常量放在头文件中,不需要对外公开的常量放在
定义文件的头部。为便于管理,可以把不同模块的常量集中存放在一个公用的头文件中。
(2)如果某一常量与其他常量密切相关,应在定义中包含这种关系,而不应给出一些
孤立的值。例如:
const float RADIUS = 100;
const float DIAMETER = RADIUS * 2;
5.3 const 与#define 的比较
【提示 5-3】:在 C++程序中应尽量使用 const 来定义符号常量,包括字符串常量。
第 6 章 C++/C 函数设计基础
6.7 参数传递规则
【规则 6-1】:不论是函数的原型还是定义,都要明确写出每个参数的类型和名字,不要贪
图省事只写参数的类型而省略参数名字。例如:
void SetValue (int width, int height); // 良好的风格
void SetValue (int, int); // 不良的风格
【规则 6-3】:如果参数是指针,且仅做输入用,则应在类型前加 const,以防止该指针指向
的内存单元在函数体内无意中被修改。如果输入参数以值传递的方式传递对象,则宜改用
“const &”方式来传递,因为引用的创建和销毁不会调用对象的构造和析构函数,从而可
提高效率。例如: