C/C++ const
1、常量,一定要且只能被初始化(包括类的初始化列表),不能被赋值,即不能修改。
2、常量成员函数,不能修改成员变量。
3、常量对象,不能调用非常量成员函数,因为非常量成员函数可能修改对象的成员变量。
4、指针常量(*const),指针本身是常量,指针指向的内容可以被修改。对应指针变量。
5、常量指针(const*),常量的指针,即指针指向的内容不能被修改,但指针本身是变量,可以被修改。
6、常量引用,通常用于函数形参,避免值拷贝,同时防止函数内对参数进行修改。
7、数组名,可以看做指针常量。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #include <vector> class A { public : const int x = 1; // 常量 const char y; A(): y( 'c' ) {}; // 初始化列表 int getValue() const ; // 常量成员函数 int getValue(); // 非常量成员函数 }; void foo( const std::vector< int > &v) // 常量引用 { const A a; // 常量对象 int val = 2; int * const pInt1 = &val; // 指针常量 const int * pInt2; // 常量指针 int arr[] = {1, 2, 3}; // 数组名 int *pArr1 = arr; const int *pArr2 = arr; int const *pArr3 = arr; const int const *pArr4 = arr; } |
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步