-
用于变量:
对于普通变量:const
用于声明一个只读(不可修改)的常量变量。例如:const int num = 10;
对于指针变量:const
可以放在*
前面,表示指针指向的内容为只读。例如:const int* ptr = #
对于常量指针:const
可以放在*
后面,表示指针本身为只读。例如:int* const ptr = #
对于常量指针和指向常量的指针:const
可以同时放在*
前后,表示指针和指向的内容都是只读。例如:const int* const ptr = #
-
用于函数参数:
const
用于函数参数,表示参数是只读的,函数内部不能修改它的值。这样可以保护参数不被意外修改。例如:void func(const int num);
-
用于函数返回类型:
const
用于函数返回类型,表示函数返回的值是只读的,不能被修改。例如:const int func();
-
用于成员函数:
const
用于成员函数,表示该函数不会修改对象的状态。这样的成员函数称为常量成员函数,只能读取对象的数据成员,而不能修改它们。例如:int getValue() const;
-
用于成员属性:const修饰成员变量表示该成员变量是常量,其值在对象创建时初始化后不能再被修改。const成员变量必须在类的构造函数的初始化列表中进行初始化,因为它们不能在构造函数体内赋值。
#include<iostream> using namespace std; class MyClass { public: const int member1 ; MyClass(int num){ member1=num;//构造函数体内赋初值,报错 } }; int main(){ MyClass class1(90); cout<<class1.member1<<endl; }
错误信息如图:
使用参数列表初始化,解决问题#include<iostream> using namespace std; class MyClass { public: const int member1 ; /*MyClass(int num){ member1=num;//构造函数体内赋初值,报错 }*/ MyClass(int num):member1(num){ } }; int main(){ MyClass class1(90); cout<<class1.member1<<endl; }
const修饰的变量,函数,成员变量,成员函数注意事项
最新推荐文章于 2024-07-04 17:35:22 发布