int const函数(参数),int函数(const参数)和int函数(参数)const之间有什么区别?

时间:2015-02-09 07:12:11

标签: c++ const

我正在为我的CS类工作,它使用const,我对何时使用它们感到困惑。

这三个功能有什么区别?

 int const function(parameters)
 int function(const parameters)
 int function(parameters) const

提前致谢!

2 个答案:

答案 0 :(得分:2)

int const function(parameters)

const是多余的。将int这样的简单类型声明为const返回值是没有用的,尽管它可能有助于使代码更加自我记录。如果返回类型是引用或指针,那么故事就会改变。

int function(const parameters)

传递给parameters的{​​{1}}为function,因此无法修改。

const

int function(parameters) const 是一个方法,它不会修改被调用它的对象实例中的任何成员变量。

答案 1 :(得分:1)

考虑到你在谈论c++

const int function(parameters) // instead of your  int const function(parameters)

会将常量返回int

int function(const parameters)

在方法中,参数将被视为常量,这意味着它们不会被更改。

int function(parameters) const

此函数不会更改任何类变量(如果成员不可变)