int const function(parameters)、int function(const parameters) 和 int function(parameters) const 有什么区别?
What is the difference between int const function(parameters), int function(const parameters), and int function(parameters) const?
我正在为我的 CS class 做作业,它使用了 const,我对何时使用它们感到困惑。
这3个函数有什么区别?
int const function(parameters)
int function(const parameters)
int function(parameters) const
提前致谢!
int const function(parameters)
const
是多余的。将诸如 int
之类的简单类型声明为 const
return 值是没有用的,尽管它可能有助于使代码更加自文档化。但是,如果 return 类型是引用或指针,那么情况就不同了。
int function(const parameters)
传递给 function
的 parameters
是 const
,因此无法修改。
int function(parameters) const
function
是一个 方法 ,它不会修改调用它的对象实例中的任何成员变量。
考虑到你在谈论 c++
:
const int function(parameters) // instead of your int const function(parameters)
将return一个常量转为int
int function(const parameters)
方法中的参数将被视为常量,这意味着它们不会被更改。
int function(parameters) const
此函数不会更改任何 class 变量(如果成员不可变)
我正在为我的 CS class 做作业,它使用了 const,我对何时使用它们感到困惑。
这3个函数有什么区别?
int const function(parameters)
int function(const parameters)
int function(parameters) const
提前致谢!
int const function(parameters)
const
是多余的。将诸如 int
之类的简单类型声明为 const
return 值是没有用的,尽管它可能有助于使代码更加自文档化。但是,如果 return 类型是引用或指针,那么情况就不同了。
int function(const parameters)
传递给 function
的 parameters
是 const
,因此无法修改。
int function(parameters) const
function
是一个 方法 ,它不会修改调用它的对象实例中的任何成员变量。
考虑到你在谈论 c++
:
const int function(parameters) // instead of your int const function(parameters)
将return一个常量转为int
int function(const parameters)
方法中的参数将被视为常量,这意味着它们不会被更改。
int function(parameters) const
此函数不会更改任何 class 变量(如果成员不可变)