在函数名前后加const的区别
时间: 2024-02-17 20:59:50 浏览: 62
substr函数的使用.zip
在函数名前加const表示该函数不会修改对象的数据成员。在函数名后加const表示该函数返回一个常量对象,该对象不可修改。
具体来说,如果在成员函数的声明或定义中,在函数名前加上const,则表示该函数是一个const成员函数。这意味着该函数不会修改任何非静态数据成员,也不会调用任何非const成员函数。例如:
```
class MyClass {
public:
void myFunc() const;
};
void MyClass::myFunc() const {
// 这里不会修改任何数据成员
}
```
如果在函数返回类型后面加上const,则表示该函数返回一个常量对象,该对象的数据成员不能被修改。例如:
```
class MyClass {
public:
const int myFunc() {
return 42;
}
};
int main() {
MyClass obj;
const int val = obj.myFunc();
// val是一个常量,不能修改其值
}
```
总之,const的作用是告诉编译器某些变量、函数、对象是常量,从而提高代码的可读性和安全性。
阅读全文