[c++] const

何时使用const

  • const修饰函数参数是它最广泛的一种用途,它表示函数体中不能修改参数的值
    • void function(const char* Var); //参数指针所指内容为常量不可变
    • void function(const Class& Var);//引用参数在函数内不可以改变
  • const修饰类对象表示该对象为常量对象,其中的任何成员都不能被修改。对于对象指针和对象引用也是一样
  • const修饰类的成员变量,表示成员常量,不能被修改,同时它只能在初始化列表中赋值
  • const修饰类的成员函数,则该成员函数不能改变成员变量,也不能修改/调用类中任何非const成员函数。一般写在函数的最后来修饰

为什么使用const

  • 对数据的引用应该作为函数中的常量被隔离,以便函数不能改变它
  • 应该将不修改相应实参的形参定义为const引用,这不仅仅是为了防止在函数中不小心修改了实参,还有更深层的含义
  • 很多时候无需改变对象的内容,如比较大小的函数
  • 使用引用而非常量引用会极大地限制函数所能接受的实参类型

 

参考:

C/C++中const关键字详解

https://www.cnblogs.com/yc_sunniwell/archive/2010/07/14/1777416.html

C++中const的用法详细总结

https://www.jb51.net/article/41807.htm

posted @ 2019-11-27 22:05  cxc1357  阅读(93)  评论(0编辑  收藏  举报