《C++primer(第五版)》学习之路

【声明:版权所有,转载请标明出处,请勿用于商业用途。联系信箱:libin493073668@sina.com】

2.1 基本内置类型

1.算术类型分为两类:整型(integral type,包括字符和布尔类型在内)和浮点型。

布尔类型(bool)的取值是真(true)或者假(false)。

2.除去布尔型和扩展的字符型之外,其他整型可以划分为带符号的(signed)和无符号的(unsigned)两种。带符号类型可以表示正数、负数或0,无符号类型则仅能表示大于等于0的值。类型int、short、long和long long都是带符号的,通过在这些类型名前添加unsigned就可以得到无符号类型,例如unsigned long。类型unsigned int可以缩写为unsigned。

与其他整型不同,字符型被分为了三种:char、signed char和unsigned char。特别需要注意的是:类型char和类型signed char并不一样。尽管字符型有三种,但是字符的表现形式却只有两种:带符号的和无符号的。类型char实际上会表现为上述两种形式中的一种,具体是哪种由编译器决定。

3.unsigned也能接收负值,不过会自动将这个负值转化为正值。

4.以0开头的数代表八进制,以0x开头的数表示十六进制

5.由单引号括起来的一个字符称为char型字面值,双引号括起来的零个或多个字符则构成字符串型字面值。

6.转义字符

换行符\n横向制表符 \t报警(响铃)符 \a 纵向制表符 \v退格浮\b双引号\&; 反斜线\\问号\?单引号\&; 回车符\r进纸符\f 7.指定字面值的类型

2.2 变量

1.变量定义的基本形式是:首先是类型说明符(type specifier),随后紧跟由一个或多个变量名组成的列表,其中变量名以逗号分隔,最后以分号结束。列表中每个变量名的类型都由类型说明符指定,定义时还可以为一个或多个变量赋初值。

2.对象是指一块能存储数据并具有某种类型的内存空间。

3.初始化不是赋值,初始化的含义是创建变量时赋予其一个初始值,而赋值的含义是把对象的当前值擦除,而以一个新值来替代。

4.作为C++11新标准的一部分,用花括号来初始化变量得到了全面应用,而在此之前,这种初始化的形式仅在某些受限的场合下才能使用。这种初始化的形式被称为列表初始化(list initialization)。现在,无论是初始化对象还是某些时候为对象赋新值,都可以使用这样一组由花括号括起来的初始值了。

5.

6.变量命名规范变量命名有许多约定俗成的规范,下面的这些规范能有效提高程序的可读性:标识符要能体现实际含义。变量名一般用小写字母,如index,不要使用Index或INDEX。用户自定义的类名一般以大写字母开头,如Sales_item。如果标识符由多个单词组成,则单词间应有明显区分,如student_loan或studentLoan,不要使用studentloan。对于命名规范来说,若能坚持,,必将有效。

2.3 复合类型

1.引用并非对象,相反的,它只是为一个已经存在的对象所起的另外一个名字。

2.指针值指针的值(即地址)应属下列4种状态之一:1.指向一个对象。2.指向紧邻对象所占空间的下一个位置。3.空指针,意味着指针没有指向任何对象。4.无效指针,也就是上述情况之外的其他值。

3.当用到一个预处理变量时,预处理器会自动地将它替换为实际值,因此用NULL初始化指针和用0初始化指针是一样的。在新标准下,现在的C++程序最好使用nullptr,同时尽量避免使用NULL。

4.指针和引用都能提供对其他对象的间接访问,然而在具体实现细节上二者有很大不同,其中最重要的一点就是引用本身并非一个对象。一旦定义了引用,就无法令其再绑定到另外的对象,之后每次使用这个引用都是访问它最初绑定的那个对象。

5.void*是一种特殊的指针类型,可用于存放任意对象的地址。一个void*指针存放着一个地址,这一点和其他指针类似。

6.一般来说,声明符中修饰符的个数并没有限制。当有多个修饰符连写在一起时,按照其逻辑关系详加解释即可。以指针为例,指针是内存中的对象,像其他对象一样也有自己的地址,因此允许把指针的地址再存放到另一个指针当中。通过*的个数可以区分指针的级别。也就是说,**表示指向指针的指针,***表示指向指针的指针的指针,以此类推。

7.引用本身不是一个对象,因此不能定义指向引用的指针。但指针是对象,所以存在对指针的引用。

2.4 const限定符

1.const对象一旦创建后其值就不能再改变,所以const对象必须初始化。一如既往,初始值可以是任意复杂的表达式。

2.如果想在多个文件之间共享const对象,必须在变量的定义之前添加extern关键字。

想念我的时候,不要忘记我也在想念你。

《C++primer(第五版)》学习之路

相关文章:

你感兴趣的文章:

标签云: