我在阅读我的 C++ 书籍 (Deitel) 时遇到了一个计算立方体体积的函数。代码如下:
double cube (const double side){
return side * side * side;
}
使用“const”限定符的解释是这样的:“const 限定符应该用于强制执行最小权限原则,告诉编译器函数不修改变量端”。
我的问题:这里使用“const”不是多余/不必要的,因为变量是按值传递的,所以函数无论如何都不能修改它?
最佳答案
const
限定符防止函数内部的代码修改参数本身。当函数大于普通大小时,这种保证可以帮助您快速阅读和理解函数。如果您知道 side
的值不会改变,那么您不必担心在阅读时跟踪它的值。在某些情况下,这甚至可以帮助编译器生成更好的代码。
考虑到这通常是一种很好的风格,有不少人这样做是理所当然的。
关于c++ - 传值时 "const"不是多余的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8714250/