C++string对象和字符串字面值的连接,+操作

当进行string对象和字符串字面值进行连接时,+操作符的左右至少出现一个是string类型的。

string s1 = "hello";

string s2 = "world";

 

string s3 = s1 + ",";//ok

string s4 = "hello" + ",";//error

string s5 = s1 + "," + "world";ok

string s6 = "hello" + "," + s2;error

 

s4错误的原因是试图直接将两个字符串的字面值进行相加;

s5没错因为前面一个+相当于把前面两个先做temp = s1+",";的操作,temp是字符串型,然后将temp与后面的进行相加;

s6错误的原因参照s4、s5就知道了。

 

补充:重载就是对已有的操作符进行重新定义,以适应不同的数据类型,比如string s1 = string s2;int i1 = int i2;如果要用自定义的类型type_self,使得type_self tp1 = type_self tp2;一般的C++标准库里应该都有集成了,只有用到自己定义的数据类型就得重新写函数定义了。

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值