c++函数后const
时间: 2024-06-12 12:08:38 浏览: 12
const在C++中是一个关键字,用于修饰成员函数。当一个成员函数被const修饰后,表示该函数是只读函数,不会修改任何数据成员。const成员函数有以下几个特点:
1. 隐含的this指针以const 类名的类型传递。
2. const只能声明成员函数,不能声明静态函数。
3. const声明的函数不能修改成员数据。
4. const声明的函数只能调用其他被const标志的函数。
使用示例:
```cpp
#include <iostream>
using namespace std;
class Test{
int a = 10;
public:
int test() const{
// a; // 错误,不能修改成员数据
cout << a << endl;
cout << "hello" << endl;
geta();
return a;
}
int geta() const{
return 2;
}
};
int main(){
Test test;
test.test();
}
```
注意事项:const成员函数在调用时只能调用const修饰的函数,不能调用非const修饰的函数。
相关问题
c++函数后加const含义、
引用[2]中提到,函数前加const修饰表示函数的返回值为const,不可修改。这意味着在函数内部不能修改对象的成员变量。这样做的目的是为了保护对象的数据,防止在const对象上调用非const成员函数导致数据被修改。引用[3]中还提到,const对象只能调用const成员函数,而不能调用非const成员函数。这是为了确保const对象的数据不会被修改。所以,函数后加const的含义是表示该函数是一个const成员函数,只能在const对象上调用,并且在函数内部不能修改对象的成员变量。
C++ 函数两个const作用
在C++中,`const`关键字可以用于修饰函数的参数和函数返回值。其作用如下:
1. 修饰函数参数为`const`:表示函数不会修改该参数的值,即函数只会读取该参数的值而不会修改。
```c++
void func(const int x) {
// 不能修改x的值
}
```
2. 修饰函数返回值为`const`:表示函数返回的值是常量,不能被修改。
```c++
const int func() {
return 1;
}
```
3. 修饰成员函数:表示该函数不会修改对象的成员变量,即该函数只会读取成员变量的值而不会修改。
```c++
class MyClass {
public:
int getValue() const {
return value;
}
private:
int value;
};
```
4. 修饰函数本身:表示该函数不会修改类的成员变量,即该函数只会读取成员变量的值而不会修改。
```c++
class MyClass {
public:
int getValue() const;
private:
int value;
};
int MyClass::getValue() const {
return value;
}
```
总之,`const`关键字可以用于函数的参数、返回值、成员函数和函数本身,其作用是为了保证函数或对象的某些属性不被修改,从而提高程序的健壮性和可读性。