【发布时间】:2019-11-18 11:53:26
【问题描述】:
在 C++ Primer 一书中,我遇到了这样的语句:“当我们混合字符串和字符串或字符文字时,每个 + 运算符的至少一个操作数必须是字符串类型”
我注意到以下内容无效:
#include<string>
int main()
{
using std::string;
string welcome = "hello " + "world"; //example 1
string short_welcome = 'h' + 'w'; //example 2
return 0;
}
- 问题 1:为什么示例 1 会产生错误,因为两个操作数 是字符串文字吗?
- 问题2:为什么至少有一个操作数必须是字符串?
- 问题 3:为什么示例 2 也 产生错误?
我只是想了解幕后发生的事情。
【问题讨论】:
-
@vlad 好的,我明白了。删除讨论
标签: c++ string operator-overloading user-defined-types