当前位置: 代码迷 >> 综合 >> Android 9.0 ---C++源码函数声明后跟const的意义
  详细解决方案

Android 9.0 ---C++源码函数声明后跟const的意义

热度:97   发布时间:2024-01-24 11:25:23.0

一点小知识,mark一下:

virtual b() const = 0;

C++源码函数声明后跟const的意义

virtual xxx() const = 0;
后面加个const 表明该函数不会改名成员函数的值!该函数可以被常量对象访问(const)。
注意 加了const 与不加const的函数是两个不同的函数!
用个例子说明其区别:
#include <iostream>
class A
{
public:
void temp()
{
std::cout<<"call temp()\n";
}
void temp() const
{
std::cout<<"call temp() const \n";
}
};
void main()
{
const A a; //a常量对象,其只能访问常量函数
a.temp(); //访问 temp() const; 如果A中没有 temp() const 函数,编译器报错
A b; //非常量对象
b.temp(); //访问 temp()
}

 

  相关解决方案