C++中字符常量与字符常量不能直接相加

定义string变量,并进行初始化,如下:

string s1 = "Hello";
string s2 = s1 + "World";
string s3 = "Hello" + "World";

s2可以编译成功,s3则错误。

对于s2的赋值,s1是string类型,“World”是const char[]类型(C风格字符串),C++重载了string的“+”操作符,可以实现其与char[]操作,并返回string类型。而对于s3的赋值,是两个const char[]进行相加,而C++ 并没有实现相关操作。

posted @ 2020-02-20 22:57  风追少年17  阅读(966)  评论(0编辑  收藏  举报