std::string a = x1 + x2 + x3 + x4
原来都是const std::string&,只有x1+x2的时候return一个右值
现在是
std::string a = std::string(x1) + std::string(x2) + std::string(x3) + std::string(x4)
一下4个右值
翻了一下stackoverflow,说要么自己重载一个,要么改用
std::string a
a.append(x1).append(x2)....
【 在 here080 的大作中提到: 】
: 另外,就算你比较懒,直接写:
: a + string(b)
: 这里string(b)产生的string在传给operator+时是右值,结果会移动而不会再次复制。
: ...................
--
FROM 115.193.190.*