Улучшена производительность благодаря семантике перемещения и ссылкам на rvalue - PullRequest
0 голосов
/ 29 февраля 2012

C ++ 11 ввел move semantics и rvalue references для предотвращения ненужного копирования временных объектов.Мой вопрос заключается в том, есть ли какое-либо исследование или статья, в которой показано улучшение move semantics по сравнению с кодом C ++, не использующим его.

Некоторые области, где, как мне кажется, это улучшает производительность, находятся в обработке строк и научных библиотеках, которые используют перегрузку операторов.Но разве у нас уже не было высокопроизводительных научных библиотек, таких как blitz ++ , которые существовали еще до C ++ 11.Возможно, с помощью move semantics его можно еще больше оптимизировать.

Как вы думаете, какие приложения получат большую выгоду от move semantics и rvalue references?

1 Ответ

1 голос
/ 29 февраля 2012

Практически все приложения, использующие стандартную библиотеку C ++, выиграют от семантики перемещения, не делая ничего лишнего. Например, взгляните на vector<string> - семантика перемещения приведет к значительному снижению стоимости добавления новых элементов и увеличения вектора.

...