作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7050815.html C++之const限定符(顶层const,底层const) const初始化 const的特点: 用const加以限定的变量,无法改变. 由于const对象定义之后就无法改变,所以必须对其进行初始化. const对象的常量特征仅在尝试改变它的时候表现出来,其他时候和变量无异. const初始化: const int bufSize = 512; //b…
const限定符 c++有了新的const关键字,用来定义常变量,可以替C语言中的#define.关于const限定符,有以下需要注意: 1.创建后值不再改变 2.作用范围在文件内有效 3.添加extern关键字,使多个文件共用同一个常变量 另外,int const与const int是等效的. const指针 创建const指针时,const,*和变量类型的符号顺序会给人很大的困扰.一般来说,按照从右向左读的方式来判断其含义. 1. const int *p=&i; 与下面的语句等效. (co…
作者:tongqingliu 转载请注明出处: C++之const限定符 const初始化 const的特点: 用const加以限定的变量,无法改变. 由于const对象定义之后就无法改变,所以必须对其进行初始化. const对象的常量特征仅在尝试改变它的时候表现出来,其他时候和变量无异. const初始化: const int bufSize = 512; //bufSize无法再改变 const仅在本文件中有效 const对象通常只在本文件内有效,如果希望其在其他文件中也有效,则需要在其前面…
什么是const限定符? Const限定符是我们通常所说的常量限定符,被const修饰的对象具有常量性质,只能读,不能写. 为什么使用const限定符? 用const变量取代“魔数”,代码更容易理解和维护.例如:以const常变量作为数组的界:const常变量作为switch的条件标号. C++“最小特权原则”的体现,防止不应该被修改的数据被篡改.例如:很多指针(或迭代器)是边读边移动,而不是边写边移动:很多函数参数是只读不写的,使用const限定符不仅可以限制参数被修改,还可以扩大函数可以接受…
在C语言中我们使用#define宏定义的方式来处理符号常量.而在C++中有一种更好的处理符号常量的方法,那就是使用const关键字来修改变量声明和初始化.这种处理常量方式的好处不言而喻:如果程序在多处需要使用同一个值时,我们不妨将这个值定义为常量,这样在需要修改值时,只需修改常量即可,省去很多麻烦. 另外相比于C语言的宏定义方式,const限定符的优点在于:1.能够明确指定类型:2.可以使用C++的作用域规定将定义限定在特定的函数或文件中.以下代码: #include<iostream>#in…
1.定义const对象 const限定符把一个对象转换成一个常量 const int Bufsize = 512; 定义Bufsize 为常量并初始化为512.变量Bufsize仍然是一个左值,但是不可修改. Bufsize = 0; // error 2.const对象默认为文件的局部变量 在全局作用域中定义非const变量时,在整个程序中都能访问 // file1.c int counter; // file2.c exter int counter; counter++; 除非特别说明,在…
1.引用: 为对象起了另外一个名字,引用类型引用另外一种类型,通过将声明符写成&d的形式来定义引用类型,其中d也就是声明的变量名(声明符就是变量名). PS:1.通过图片中编译所提示的报错信息也可知,引用必须被初始化: 2.引用并非对象,相反的,它只是为一个已经存在的对象所起的另一个名字而已: 2.指针: 与引用类似,指针也实现了对其他对象的间接访问,不过,指针本身就是一个对象,允许对指针赋值与拷贝,而且在其生命周期内可以先后指向几个不同的对象(引用只能指向一个初始化的). 指针无须再定义时赋初…
指针和Const限定符 1.指向const对象的指针 如果指针指向的是const对象,则不允许使用指针来改变其所指的const值.C++要求指向const对象的指针具有const特性. const double *cptr; //cptr是一个指向double类型const对象的指针. 此处const限定了cptr指针所指向的对象类型,而非cptr本身.即cptr本身并不是const.在定义时,不需要对它进行初始化,若需要,可使cptr指向另一个const对象,但不允许使用cptr来改变所指向对…
C++ const 限定符 作用:把一个对象转换成一个常量 用法:const type name = value; 性质:1. 定义时必须初始化,定义后不能被修改.2. 类中的const成员变量必须通过初始化列表进行初始化.3. 非const变量默认为extern.要使const变量能在其他文件中访问,必须显示的指定为extern.4. const定义的常量在超出其作用域之后其空间会被释放. 与c语言中#define的区别1. 能够明确指定类型.2. 可以使用作用域规则将定义限制在特定的函数或文…
const限定符的作用:                                     1.定义const常量:const可以将一个对象变成一个常量,不可被修改,所以定义的 时候必须进行初始化,例如:                const int bufsize = 512: 2.可以修饰函数的参数.返回值.甚至函数的定义体.被const修改时的东西受到强制保护,可以预防意外的变动,提高程序的健壮性. 一般全局作用域中,定义了非const变量,它可以在整个程序中访问: //file…