我正在为我的计算机科学课程做一项任务,它使用const,但我有点困惑应该在什么情况下使用每个。
这3个函数之间有什么区别?
int const function(parameters)
int function(const parameters)
int function(parameters) const
提前感谢您!
我正在为我的计算机科学课程做一项任务,它使用const,但我有点困惑应该在什么情况下使用每个。
这3个函数之间有什么区别?
int const function(parameters)
int function(const parameters)
int function(parameters) const
提前感谢您!
int const function(parameters)
const
是多余的。声明一个简单类型,如int
作为const
返回值并没有什么用处,尽管这样做可以使代码更加易懂。但如果返回类型是引用或指针,则情况就有所不同。
int function(const parameters)
function
接收的parameters
是const
类型的,因此不能被修改。
int function(parameters) const
function
是一种方法,它不会修改调用它的对象实例中的任何成员变量。
int
没有问题,但对于类类型可能有问题),因此不建议使用。 - BoBTFish考虑到你在谈论:
const int function(parameters) // instead of your int const function(parameters)
将返回一个常量到int
int function(const parameters)
这些参数在方法内将被视为常量,这意味着它们不会被更改。
int function(parameters) const
如果成员不可变,这个函数不会改变任何类变量