- 1
- 2
- 3
- 4
- 5
- 6
ostringstream s;
...
- return s.str();
+ return std::move(s.str());
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+5
ostringstream s;
...
- return s.str();
+ return std::move(s.str());
соптимизировано
Ну и вообще std::move в return практически никогда ничего не оптимизирует - в лучшем случае это no-op, а в худшем еще и RVO ломает (т.е. делает медленнее).
Двойная оптимизация.
Можно расширить на любой уровень оптимизации:
Говорят, что return optimized_return<numeric_limits<size_t>: :max()>(s.str()); выполняется за отрицательное время.
Остальное - треш какой-то.