内置类型的返回const值
return const value for built-in type
返回内置类型的const值是一个很好的习惯吗?
原因是:
const int F()
{
}
int y;
F(x) = y;
如果返回值为const,则上述代码将不会编译。然而如果不是,则F(x) = y;
是一个非常隐藏的错误。
由于将值分配给函数没有意义,所以我在想始终返回内置类型的const值是一个好习惯吗?如果我总是返回内置类型的const值,是否有问题?
const
表示在对象的寿命中,对象的值不会更改。
标准本身指出,因此,const在非阶级或非阵列prvalues的贵族上没有意义。这样的表达式永远不会参考对象(至少该表达式起源于用户代码。语言本身可以在参考绑定过程中创建prvalues,从而神奇地指临时对象。但是,这些应该是xvalues,而是xvalues)。因此,由于没有对象,因此没有生命。因此,没有什么可以保存的" const"。
分配给此类型的函数调用并不合法。如果我尝试:
,G 给我此错误消息test.cpp: In function ‘int main()’:
test.cpp:8:8: error: lvalue required as left operand of assignment
因此,您也无需声明退货值const
即可从编译器中获得合适的诊断。
相关文章:
- 从函数返回const char*数组
- 在 const 函数中通过引用和指针返回之间的区别
- 为什么返回类型的'const'限定符对标有 __forceinline/内联的函数没有影响?
- 在 Arduino 上使用 sscanf 会导致与 const char * 不匹配,并且返回值始终相同,尽管输入值不同
- 为什么我不能在返回 const 的布尔函数中为类成员变量赋值?C++
- 如果我在 const 函数上使用指针,我可以返回什么?
- 将返回类型专用化为 void 或 const 左值引用
- 为什么 const 函数返回左值而不是右值?
- 为什么"std::set::erase(const key_type&)"返回"size_type"而不是"bool"?
- 用 decltype 和 auto 推导出 const(返回)类型
- 延长函数的寿命延长 由 const& 获取参数并由 const& 返回
- 如何将指向指针列表的私有指针作为 const 返回
- 我应该在简单的访问成员函数中使用 const 返回类型吗?
- 如何可能移动const返回的对象
- 在具有专用器的模板类上正确使用 const 返回值
- 为什么 std::max 通过 const 返回?
- 德尔福中C++“const”返回类型相当于什么
- g++编译器忽略const返回类型
- 我应该什么时候通过 T const& 返回?
- c++编译器可以对const返回值执行RVO吗?