const用法

来源:互联网 发布:java两个日期相差年数 编辑:程序博客网 时间:2024/06/09 16:59

const修饰成员函数

  • const修饰的成员函数不能修改任何的成员变量(mutable修饰的变量除外)
  • const成员函数不能调用非const成员函数,因为非const成员函数可以修改成员变量

const修饰函数返回值

  • 指针传递

如果返回const data,non-const pointer,返回值也必须赋给const data,non-const pointer.因为指针指向的数据是常量不能修改。

  • 值传递

如果函数返回值采用“值传递方式”,由于函数会把返回值复制到外部临时的存储单元中,加const修饰没有任何价值。所以,对于值传递来说,加const没有太多意义。

  • const修饰成员变量

(1)只有一个const,如果const位于*左侧,表示指针所指数据是常量,不能通过解引用修改该数据;指针本身是变量,可以指向其他的内存单元。

(2)只有一个const,如果const位于*右侧,表示指针本身是常量,不能指向其他内存地址;指针所指的数据可以通过解引用修改。

(3)两个const,*左右各一个,表示指针和指针所指数据都不能修改。

const修饰函数参数

传递过来的参数在函数内不可以改变

0 0
原创粉丝点击