📅  最后修改于: 2023-12-03 15:13:44.984000             🧑  作者: Mango
const
关键字 | 问题2在 C++ 中,const
关键字用于声明一个变量为常量,表示其值在声明后不能被修改。这是一种很有用的机制,可以在编译时强制执行数据的只读访问,防止意外的修改。
问题 2:const
可以应用于哪些场景?
const
关键字可以应用于以下几个场景:
当将一个变量声明为常量时,它的值在声明后将不能被修改。
const int MAX_VALUE = 100;
MAX_VALUE = 200; // 编译错误,无法修改常量的值
const
关键字可以用于函数的参数,表示在函数内部不会修改该参数的值。
void printString(const std::string& str) {
// 不能修改 str 的值
std::cout << str << std::endl;
}
当函数的返回值被声明为常量时,调用该函数后得到的值无法被修改。
const int getRandomNumber() {
return rand();
}
int num = getRandomNumber();
num = 10; // 编译错误,函数返回值是常量
在类的成员函数声明中,const
关键字可以修饰函数,表示该函数是一个常量成员函数。这意味着在这个函数中,不允许修改对象的成员变量。
class MyClass {
public:
void printValue() const {
// 不允许修改成员变量的值
std::cout << value << std::endl;
}
private:
int value;
};
const
关键字可以用于指针的修饰,有两种方式:常量指针和指针常量。
int x = 10;
int y = 20;
const int* ptr = &x;
// *ptr = 5; // 错误,不能通过指针修改 x 的值
ptr = &y; // 可以修改 ptr 的指向
int x = 10;
int y = 20;
int* const ptr = &x;
*ptr = 5; // 可以通过指针修改 x 的值
// ptr = &y; // 错误,不能修改 ptr 的指向
总结:const
关键字在 C++ 中具有广泛的应用场景,它可以用于常量变量、函数参数、返回值、成员函数修饰以及指针的修饰。使用 const
可以增加代码的可读性和安全性,防止无意的修改。