有這樣的代碼:改變返回值
#include <iostream>
#include <string>
int returnnumber() { return 2; }
std::string returntext() { return "siema"; }
int main() {
std::cout << (returntext() += "cze") << std::endl; // siemacze
//std::cout << (returnnumber() += 2) << std::endl; error: lvalue required as left operand of assignment
return 0;
}
爲什麼是有可能改變的std :: string的返回值,但不是int?
好吧,但對於'int',運算符'+ ='也被定義。 – Vlad
@downvoter:爲什麼? – Vlad
@anonymous downvoter:請解釋你的downvote,以便其他人可以從你的洞察中受益,或忽略一些愚蠢的原因。 –