关键字auto、static、register、const、volatile、extern 这些关键词都是c++基础知识,我整理了一下,希望对新学的朋友们有用: (1)auto 这个这个关键字用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字不怎么多写,
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 ...
void function(const Class& Var); //引用参数在函数内不可以改变 void function(const TYPE& Var); //引用参数在函数内为常量不可变 这样的一个const引用传递和最普通的函数按值传递的效果是一模一样的,他禁止对引用的对象的一切修改,唯一不同的是按值传递会先建立一个类对象的副本, 然后传递过去,而它直接传...
void function(const Class& Var); //引用参数在函数内不可以改变 void function(const TYPE& Var); //引用参数在函数内为常量不可变 这样的一个const引用传递和最普通的函数按值传递的效果是一模一样的,他禁止对引用 的对象的一切修改,唯一不同的是按值传递会先建立一个类对象的副本, 然后传递过去,而它直接...
const int Fun1(); const MyClass Fun2(); 分析:上述写法限定函数的返回值不可被更新,当函数返回内部的类型时(如Fun1),已经是一个数值,当然不可被赋值更新,所以,此时const无意义,最好去掉,以免困惑。当函数返回自定义的类型时(如Fun2),这个类型仍然包含可以被赋值的变量成员,所以,此时有意义。
const int a; //a是一个常整型数int const a; //a是一个整型常数const int *a; //a是一个指向常整型数的指针,从这里可以看出整型数不可以修改,但指针可以。int * const a; //a是一个指向整型数的常指针,整型数可以修改,指针不能修改。int const * a const; //a是一个指向常整型数的常指针。
const int fun1(); const myclass fun2(); 分析:上述写法限定函数的返回值不可被更新,当函数返回内部的类型时(如fun1),已经是一个数值,当然不可被赋值更新,所以,此时const无意义,最好去掉,以免困惑。当函数返回自定义的类型时(如fun2),这个类型仍然包含可以被赋值的变量成员,所以,此时有意义。
🔍在C语言中,const和static是两个重要的关键字,它们分别修饰变量和函数,赋予不同的属性和作用域。📌const关键字: 修饰变量:当const修饰变量时,该变量的值在程序运行期间是不可变的,即只读属性。 修饰函数:const也可以修饰函数,表示该函数不会修改调用它的对象的任何数据成员。📌...
void function(const char* var); c.参数指针本身为常量不可变(也无意义,因为char* var也是形参) void function(char* const var); d.参数为引用,为了增加效率同时防止修改。修饰引用参数时: void function(const class& var); //引用参数在函数内不可以改变 void function(const type& var); //引用参数在...
下图使用的是const修饰全局变量,在使用extern 声明该全局变量时要加上const这个关键字,同时,如果你不允许修改const修饰的值,只能在定义该变量时进行初始化。报错情况如下图所示。3 3、使用static const 同时修饰变量 在该编译器中不能同时使用这两个关键字进行修饰,报错情况如下图所示。