前端之家收集整理的这篇文章主要介绍了
具有基本类型的C const修饰符,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我应该注意使用原始类型的const修饰符吗?哪一个在语法上更正确,为什么?
第一版:
float Foo::bar(float a,float b)
{
return (a + b) / 2.0f;
}
第二版:
const float Foo::bar(const float a,const float b)
{
return (a + b) / 2.0f;
}
第三版:
float Foo::bar(const float a,const float b)
{
return (a + b) / 2.0f;
}
我知道传递给某些方法时会复制原始类型的变量,但是哪种方式更清楚?
我会说第三个版本最“正确”.
您告诉编译器参数是const,这是正确的,因为您不修改它们.这可以帮助编译器优化传递参数以及计算.
并且返回类型不是const,因为调用者可能想要修改返回的值.如果调用者不想修改返回的值,则由调用者将其分配给const变量.
我也会在函数声明中添加const,因为该函数不会修改对象中的任何内容:
float Foo::bar(const float a,const float b) const
原文链接:https://www.f2er.com/c/117412.html