apeapple 2016-09-23 13:17 采纳率: 0%
浏览 1722

关于C++ 字符串类+运算符重载

当拼接一个C++串对象和一个字符串,返回值为什么不能是引用?
类中声明如下:
friend String operator +(char*, const String &);

  • 写回答

2条回答

  • leewers 2016-09-23 13:44
    关注

    其实倒也不是不能,就是会改变+运算符本身的语义,但重载一般的原则就是尽量不改变该操作符的语义。如果返回引用的话,这样的语句就会出现了: (a + b) = c, 而通常我们是不这样写的,+运算符本身的语义也和这样的语句是不相符合的。

    评论

报告相同问题?

悬赏问题

  • ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
  • ¥88 找成都本地经验丰富懂小程序开发的技术大咖
  • ¥15 如何处理复杂数据表格的除法运算
  • ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)
  • ¥15 有兄弟姐妹会用word插图功能制作类似citespace的图片吗?
  • ¥200 uniapp长期运行卡死问题解决
  • ¥15 请教:如何用postman调用本地虚拟机区块链接上的合约?
  • ¥15 为什么使用javacv转封装rtsp为rtmp时出现如下问题:[h264 @ 000000004faf7500]no frame?
  • ¥15 乘性高斯噪声在深度学习网络中的应用
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决