小编Jam*_*Fan的帖子

+运算符,类类型和内置类型之间的区别?

我是C++的新手.我读过的这本书告诉我,如果+为某个类对象(比如类)重载了plus()运算符,那么string这个问题会更加具体.

#include<iostream>
#include<string>
using namespace std;

int main()
{
    string s1("abc");
    string s2("def");

    string s3("def");

    cout<<(s1+s2=s3)<<endl;

    int x=1;
    int y=2
    int z=3;
    cout<<(x+y=z)<<endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

正如您所料,第一个cout陈述是正确的,而第二个陈述是错误的.编译器投诉x+y不是可修改的左值.我的问题是为什么+操作符为string对象返回可修改的左值但不是为了int

c++ const function object operator-keyword

17
推荐指数
2
解决办法
1093
查看次数

标签 统计

c++ ×1

const ×1

function ×1

object ×1

operator-keyword ×1