函数名前后加const修饰符的区别

来源:互联网 发布:vscode搭建rails 编辑:程序博客网 时间:2024/06/06 14:09

1) 函数名前加const

const int Func() {}

含义:返回值不可修改

2) 函数名后加const

int Func const () {}

含义:const修饰的是类函数隐藏的第一个参数 this指针,这表明this指针只读,也即类成员不可修改

注意该用法只能是成员函数,要是类的静态函数或者是非成员函数就不可以在函数名后面加上const

应用场景:当该类的实例被声明为const时,通过该实例调用成员函数时,如果被调用的函数名后没有const,则会报错,不然编译器会认为函数调用可能会修改类成员,与前面对类实例的const声明产生冲突


参考:

http://www.iteblog.com/archives/214

1 0