Czy powinienem używać kwalifikatorów referencyjnych lwartości dla operatorów przypisania?

Ostatnio przeprowadziłem dyskusję na temat przypisań do wyrażeń w C ++, jak pokazano w następującym przykładzie:

string s1, s2, s3;
(s1 + s2) = s3;

W C ++ 11 możliwe jest ograniczenie operatora przypisania do wartości referencyjnych (po lewej stronie). Deklarując operatorów przypisania w następujący sposób, kompilator Clang odrzuca kod z komunikatem o błędzie z powodu niezgodnych typów.

auto operator=(const string& rhs) & -> string&;
auto operator=(string&& rhs) & -> string&;

Nigdzie tego nie widziałem. Czy istnieje dobry powód, aby nie używać kwalifikatorów referencyjnych lwartości dla operatorów przypisania (poza brakującą obsługą w większości kompilatorów)?

questionAnswers(3)

yourAnswerToTheQuestion