Здравствуйте, B0FEE664, Вы писали:
BFE>std::string strResult = str1 + str2 + str3 + fun4(); // какая здесь проблема?
А зачем тут что-то, кроме RVO? Это всё и до move-семантики прекрасно работало...
Все эмоциональные формулировки не соотвествуют действительному положению вещей и приведены мной исключительно "ради красного словца". За корректными формулировками и неискажённым изложением идей, следует обращаться к их автором или воспользоваться поиском