1.声明常量:通过将 const
关键字放在变量声明前,可以将变量声明为只读常量,即不允许修改其值。
const int x = 10;
2.const int* ptr = &x;
:这里的 const
应用于 int
,表示指针 ptr
所指向的值是常量,不能通过 ptr
修改该值,但可以通过其他方式修改变量 x
的值。
3.int* const ptr = &x;
:这里的 const
应用于指针 ptr
,表示指针 ptr
本身是常量,不能修改为指向其他内存地址,但可以通过 ptr
修改变量 x
的值。
int main() {
int x = 5;
const int* ptr1 = &x; // 指向常量的指针
int* const ptr2 = &x; // 常量指针
// ptr1 不能用于修改所指向的值
// *ptr1 = 10; // 错误
// ptr2 可以用于修改所指向的值
*ptr2 = 10; // 正确
int y = 10;
ptr1 = &y; // 修改 ptr1 的地址,使其指向变量 y
return 0;
}
4.const
成员函数:在类中声明的成员函数可以被标记为 const
,表示该函数不会修改类的成员变量。这样的函数可以在常量对象上调用。例如:
class MyClass {
public:
void func() const {
// 不能修改成员变量
}
};