You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请教:auto foo() const -> std::string const&的具体含义(重点为后者)

关于auto foo() const -> std::string const&返回值部分的解释

这段代码是C++里用尾返回类型写法定义的成员函数,我们重点拆解你关注的std::string const&部分:

  • std::string:明确返回值的基础类型是标准库提供的字符串类型。
  • const:修饰std::string,表示返回的字符串是只读的——调用方拿到这个引用后,无法通过它修改原字符串对象的内容。
  • &:表示返回的是左值引用,也就是说函数不会返回新的字符串副本,而是直接引用某个已存在的std::string对象,这样能避免不必要的拷贝开销,提升代码运行效率。

另外补充一句,函数末尾的const说明这是个const成员函数,它不会修改所属类的任何成员变量,所以返回成员变量的引用时必须加上const,保证和函数的只读特性匹配。

内容的提问来源于stack exchange,提问作者Milosz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 13:10:59