void function(const Class& Var); //引用参数在函数内不可以改变 void function(const TYPE& Var); //引用参数在函数内为常量不可变 这样的一个const引用传递和最普通的函数按值传递的效果是一模一样的,他禁止对引用的对象的一切修改,唯一不同的是按值传递会先建立一个类对象的副本, 然后传递过去,而它直接传...
const就是只读的意思,只在声明中使用; static一般有2个作用,规定作用域和存储方式. 对于局部变量, static规定其为静态存储方式,每次调用的初始值为上一次调用的值,调用结束后存储空间不释放; 对于全局变量, 如果以文件划分作用域的话,此变量只在当前文件可见; 对于static函数也是在当前模块内函数可见. static const ...
1.const 用于指针的两种情况分析 int const *A; file://A可变,*A不可变 int *const A; file://A不可变,*A可变 分析:const 是一个左结合的类型修饰符,它与其左侧的类型修饰符和为一个类型修饰符,所以,int const 限定 *A,不限定A。int *const 限定A,不限定*A。 2.const 限定函数的传递值参数 void ...
1.const 用于指针的两种情况分析 int const *A; file://A可变,*A不可变 int *const A; file://A不可变,*A可变 分析:const 是一个左结合的类型修饰符,它与其左侧的类型修饰符和为一个类型修饰符,所以,int const 限定 *A,不限定A。int *const 限定A,不限定*A。 2.const 限定函数的传递值参数 void ...
下图使用的是const修饰全局变量,在使用extern 声明该全局变量时要加上const这个关键字,同时,如果你不允许修改const修饰的值,只能在定义该变量时进行初始化。报错情况如下图所示。3 3、使用static const 同时修饰变量 在该编译器中不能同时使用这两个关键字进行修饰,报错情况如下图所示。
const就是只读的意思,只在声明中使用; static一般有2个作用,规定作用域和存储方式. 对于局部变量, static规定其为静态存储方式, 每次调用的初始值为上一次调用的值,调用结束后存储空间不释放; 对于全局变量, 如果以文件划分作用域的话,此变量只在当前文件可见; 对于static函数也是在当前模块内函数可见. ...
const int a; //a是一个常整型数int const a; //a是一个整型常数const int *a; //a是一个指向常整型数的指针,从这里可以看出整型数不可以修改,但指针可以。int * const a; //a是一个指向整型数的常指针,整型数可以修改,指针不能修改。int const * a const; //a是一个指向常整型数的常指针。
关键字auto、static、register、const、volatile、extern 这些关键词都是c++基础知识,我整理了一下,希望对新学的朋友们有用: (1)auto 这个这个关键字用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字不怎么多写,因为所有...
4、const 和非const类型转换 三、typedef的用法 1、定义: 2、typedef 给数组类型定义别名的例子: 3、为结构体类型定义别名: 一、static关键字 1、定义: 实际开发中,我们通常将不需要被其他模块调用的全局变量或函数用 static 关键字...
1.const规定了一个变量在它初始化值之后,值不能再改变,也就是只读。 来看个例子: 2.static在函数内的时候,表明这个变量在函数的生命周期结束之后也不会被释放。 在...