在函数体前面加const有什么作用
时间: 2024-04-17 20:26:34 浏览: 91
C++成员函数后的const
5星 · 资源好评率100%
在C++中,在函数体前面加上const关键字有以下作用:
1. 声明函数为常量成员函数:如果一个成员函数在声明和定义的时候都加上const关键字,表示该成员函数是一个常量成员函数。常量成员函数不会修改对象的状态,即使在对象是非const的情况下也可以被调用。常量成员函数可以被const对象和非const对象调用。例如:
```cpp
class MyClass {
public:
void print() const {
// 这里不会修改对象的状态
// 可以被const对象和非const对象调用
}
};
int main() {
const MyClass obj1;
obj1.print(); // 可以调用常量成员函数
MyClass obj2;
obj2.print(); // 也可以调用常量成员函数
return 0;
}
```
2. 修饰参数为常量引用:在函数参数前加上const关键字,表示该参数为常量引用,即在函数中不会修改该参数的值。这样做可以防止对参数进行意外的修改,并提高代码的安全性。例如:
```cpp
void printValue(const int& value) {
// 这里不能修改value的值
}
int main() {
int number = 10;
printValue(number); // 将number作为常量引用传递给函数
return 0;
}
```
总结来说,在函数体前面加上const关键字可以修饰成员函数为常量成员函数或修饰参数为常量引用,从而实现对函数的约束和保护。
阅读全文