今天总结c++内置数据类型的一些知识,将按照注意点的形式对相关知识点进行梳理。
1、c++定义了算数类型和空类型在内的基本数据类型,算数类型包含字符、整数、浮点数和布尔值。
2、一个char的大小和一个机器字节一样(8位)。
3、计算中可寻址的最小内存块为字节,存储的基本单元为字。(根据计算机的不同word的大小或不相同)
4、通常float以一个字来表示,double以两个字来表示,long double以3或4个字节来表示。
5、8比特的signed char 实际的表示范围为-128 至 127。
6、c++选用数据类型的经验准则:
(1)数值非负,选择无符号类型。
(2)使用int执行整数运算。
(3)只有在存放字符和布尔时再使用char和bool。
(4)char在一些机器上有符号,而在另外一些机器没有符号,常会引发问题。
(5)执行浮点数运算使用double。
7、当一个算数表达式中有int又有无符号数时,int值转换为无符号值。
8、编译器会在每个字符串的结尾处添加一个空字符"\0",因此字符串字面值的实际长度要比他的内容多1。
9、对象是指一块能存储数据并具有某种类型的内存空间。
10、初始化和赋值是不相同的:初始化是指创建变量时赋予其一个初始值,赋值的含义是把对象当前值擦除而以一个新的值代替。
11、定义任何函数体之外的内置类型变量将被初始化为0,而在函数内部的变量将不进行初始化。所以,建议初始化每一个内置类型的变量。
12、声明和定义的区别:声明使得名字为程序所知,而定义创建与名字关联的实体。可以用extern关键字来声明一个变量,变量只能被定义一次,但是可以被多次声明。在多个文件中使用同一个变量,则必须将声明和定义分离。而在其他用到该变量的文件中,必须对其进行声明但是不能重复定义。
extern int i;//不要进行初始化,进行了初始化的声明就是定义。
13、c++变量命名规范:
(1)标识符要体现实际含义;
(2)变量名一般用小写字母;
(3)用户自定义的类名一般以大写字母开头;
(4)标识符由多个单词组成,单词间有明显区分。StudentLoan
14、同一个名字在不同的作用域中可能指向不同的实体,名字的有效区域始于名字的声明语句,结束语声明语句所在的作用域末端。
15、建议第一次使用一个变量时再去定义它。
16、引用不是一个对象,是为对象起了另外一个名字,引用类型引用另外一种类型。在初始化变量时,初始值会被拷贝到新建的对象中去。定义引用时,程序只是把引用和初始值建立绑定关系。(引用必须是跟某一对象绑定)对引用进行操作,相当于对其绑定的对象进行操作。
int value =1024;
int & refValue = value;
17、指针和引用不同,指针是个对象,允许对指针赋值和拷贝,可以在声明周期内指向几个不同的对象。指针无须在定义时赋值,在作用域内定义的指针如果没有初始化,将拥有一个不确定的值。引用因为没有地址,所有不能创建指向引用的指针。
完成于2018年9月27日,静笃归心!!!