重读《C++ Prime》 第2篇

131 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第2天,点击查看活动详情

每次阅读《C++ prime》这本大部头都会有不同的收获,这次再来一次重读,计划用一个月的时间。并在掘金平台上面把自己的读书笔记也给分享出来。

1.3注释简介

注释:用于帮助人类读者理解程序的文字。通常用于概述算法,解释变量或难懂的代码块。会被编译器忽略,不影响程序的行为和性能,但会影响cpp文件的大小。分为两种:单行注释和多行注释。

单行注释:以双斜线(//)开始,以换行符结束。可以包含任何的文本。

// 这是一行单行注释。 可以包括额外的//

多行注释:两个界定符(/* 和 /)之间都是注释,可以跨行,可以包含除/ 的任何内容。

/*  这是一段多行注释
 *  跨行时习惯在前面加一个*,表示改行也是注释的一部分,不加也无妨,只是为了在支持不好的编辑器中方便查看。
 */

注释除了用于描述代码,也用于在调试中跳过但不删除某些语句。现在的ide使用快捷键编辑注释十分友好。

1.4 控制流

控制流:程序一般是顺序执行的,但可以使用某些语句来实现更为复杂的执行路径。

1.4.1 while 语句

反复执行一段代码,直到给定的条件为假为止。

while(条件){
  // 做点什么。
}

while 循环在在执行时,会先判断条件是否为真,如果为真,则执行{}中的代码,执行完毕后再次判断条件是否为真,如果为假,则执行while语句之后的语句。在判断条件时,有时会会对作为条件的表达式进行强制转换,一般的转换规则是非空为ture,空则为false,而且条件表达式不允许为空

运算符:小于等于运算符:<= (条件运算符,返回一个bool值,还有<,>,>=,==,!=);

复合赋值运算符:+=(赋值运算符,返回于运算对象类型一致的值,还有+,-,,/,++,--,-=,/=,=);

1.4.2 for语句

反复执行循环体,直到循环条件为假为止。

for(初始化语句;循环条件;表达式){
  循环体;
}

for语句包括两部分:循环头和循环体,循环头由初始化语句,循环条件,表达式组成,都可以为空,当循环条件为空时,该循环为死循环

执行的顺序为初始化语句->循环条件(真)-> 循环体->表达式->循环条件(假)->for语句之下的语句。

C++11中支持了范围for语句(range-for)。

1.4.3 读取数量不定的输入数据

涉及到不同类型的值强制转换为bool值的问题。

1.4.4 if语句

符合条件执行一次的语句。

if(条件){
  //满足条件做的事
}
/* else {
*  //不满足条件做的事
*}
*/

进行条件执行,else语句不是必须有的,条件语句不允许为空且if 和 else 的{}可以嵌套。(所以所谓的 else if 其实是 else{if })。

1.5 类简介

设计一个数据结构,像内置的数据类型一样使用。

1.5.1 Sales_items类

使用运算符重载来支持运算符计算以进行某种行为。

1.5.2 初始成员函数

成员函数:类的一部分函数,有时也称为方法。 点运算符:只能用于类对象,用于调要类的成员函数。一般格式为 类名.成员函数名(成员函数形参)。

1.6 书店程序

书中貌似要以这个程序作为学习的例子。