将基本类型的函数参数修饰为const有什么意义?
比如:
- C/C++ code
void my_func( const float arg ) {}基本类型是按值传递,即使修改了参数也不会对外界造成任何影响。在上面修饰const有啥意义?
[解决办法]
没有实际意义
void my_func( const float arg )
{
arg = 8.0; /* 这样会报错, 如果没有const 这句是可以的 */
}
[解决办法]
限制形参在函数内部被无意改动也是有实际意义的,而且当然有利于编译器优化
[解决办法]
这种使用方式没有优化
const在编译之后,跟没有const一模一样
多写const的理由在于限制程序员,明确函数参数意义与防止前后不一误写代码等笔误
你想不写就可以不写,功能上没影响,代码风格自己定
[解决办法]
虽然没有什么实际的功能,但是它做出了一个不修改实参的承诺。
在能使用const的地方,尽量使用const,这样编译器会帮你检查错误的。