Có mã như:Thay đổi giá trị trở lại của loại cơ bản và kiểu lớp
#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;
}
Tại sao là nó có thể thay đổi giá trị trả về của std :: string, nhưng không phải int?
Vâng, nhưng đối với 'int' toán tử' + = 'cũng được xác định. – Vlad
@downvoter: Tại sao? – Vlad
@ downlist downmaner: xin vui lòng giải thích downvote của bạn để những người khác có thể được hưởng lợi từ cái nhìn sâu sắc của bạn, hoặc bỏ qua một số lý do ngu ngốc. –