在学习 C++ 时,学习函数概念的第一个函数是这样的
int add(int a, int b)
{
return a+b;
}
现在我想知道:我应该在这里使用 const
关键字,还是不使用,导致
int add(const int a, const int b)
{
return a+b;
}
但这有意义吗?它会加快我的程序,做一些其他重要的事情,还是只会增加困惑?
最佳答案
从调用者的角度来看,第一种和第二种形式是相同的。
由于整数是按值传递的,所以即使函数修改了a
和b
,修改后的值也是拷贝 原始文件,调用者看不到。
但是,从功能实现者的角度来看,是有区别的。其实就是第二种形式:
int add(const int a, const int b)
如果你试图修改函数体内的 a
和 b
的值,你会得到一个编译器错误,因为它们被标记为 const
.
相反,如果您省略 const
,您可以更改这些值。
同样,这些修改将对调用者可见。
关于c++ - 为什么我不应该在这个简单的函数中使用 `const`?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39848541/