C++最重要的特征是类,程序员可使用类自定义数据类型,C++有时候将这些类型称为“类类型”,以区别于内置类型。ios
类型做用:程序员
一、告诉咱们数据表明的是什么意思函数
二、对数据能够执行哪些操做布局
算数类型:整数、单个字符、布尔值(整型)和浮点数(浮点型)。C++标准规定了每一个算术类型的最小存储空间,但它并不阻止编译器使用更大的存储空间。(限制了最小的但没有限制最大的)spa
C++程序员一般把变量称为“变量”或者“对象”。code
变量的类型做用:对象
一、决定了变量的内存大小和布局blog
二、可以存储与该内存中的值的取值范围以及在该变量上的操做集内存
左值和右值的区别:作用域
左值就是变量的地址,或者一个表明“对象在内存中的位置”的表达式。
右值就是变量的值。
左值能够出如今赋值语句的左边或者右边,但右值只能出如今右边
1 int k =0; 2 int j = k;
k做为一个变量,能够出如今左边或者右边。变量是一个左值
变量的定义是为变量分配存储空间,还能够为变量指定初始值。
声明用于向程序代表变量的类型和名字,通常使用关键字extern来声明。
初始化:复制初始化和直接初始化
1 int k(1024); //复制初始化 2 int k = 1024; //直接初始化
对类类型来讲,每一个类会定义或者使用默认的构造函数来进行成员变量的初始化。
extern关键字是声名变量名而不是定义它,说明变量的定义在函数的其余地方,在程序中变量能够声明屡次,但只能定义一次。
做用域:全局做用域、局部做用域和语句做用域。
1 #include<iostream> 2 int g_sum; //全局做用域 3 int main() 4 { 5 int sum =0; //局部做用域 6 for(int val =1;val != 112;val++) //val 语句做用域 7 sum += val; 8 std::cout << "Sum=“ <<sum <<std::endl; 9 return 0; 10 }
常量const 在定义时,必须给予初始化,并在之后不容许被修改。
在全局做用域中声明的const变量是定义该对象的文件局部变量,次变量只存在于那个文件中,不能被其余文件访问。要使const变量可以被其余文件访问,必须使用extern显示的指出来。eg:
1 text.cpp 2 const k= 100; //这个只能在text.cpp中访问 3 4 text2.cpp 5 extern const k =100; //这个能够被任意文件访问
typedefy 用来定义类型的同义词
枚举 enum ,默认第一个枚举成员的赋值为0,后面的内个成员都比前面的大1.
enum Point{
point1,point2,point3,point4
};
Point pt = point1;
Point ptd =pt;
枚举类型的对象初始化或者赋值,只能经过其枚举成员或者同一枚举类型的其余对象来进行。
类:
类定义了组成该类型的数据(成员变量)和操做(成员函数)。定义了类就至关于定义了一个新的类型,该类型的名字就是类名。
当利用这个类名定义一个对象时,则每一个对象所占据的存储空间只与该对象数据成员所占据的存储空间有关系,与成员函数无关。
变量定义用于为变量分配存储空间,还能够为变量指定初始化的值,在一个程序中,变量有且只有一个定义。
定义变量和定义数据成员有很是重要的区别:通常不能把类成员的初始化做为其定义的一部分。当定义数据成员时,只能指定该数据成员的名字和类型。类不是在类定义里定义数据成员时初始化数据成员而是经过构造函数来初始化(成员列表或者构造函数体内进行赋值初始化)。
使用class与stuct定义类的区别仅仅是影响默认初始访问的级别,class默认访问的是pricate,stuct默认访问的是public。