我正在为我的CS类工作,它使用const,我对何时使用它们感到困惑。
这三个功能有什么区别?
int const function(parameters)
int function(const parameters)
int function(parameters) const
提前致谢!
答案 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
此函数不会更改任何类变量(如果成员不可变)