Я прочитал несколько описаний о семантике перемещения в С++ 11, и мне интересно, в каком контексте он может быть использован. В настоящее время многие математические библиотеки С++ используют метапрограммирование шаблонов для задержки оценки.
Если M = A + B + C * D, где M, A, B, C и D являются матричными, шаблонное метапрограммирование позволяет избежать бесполезных копий. Является ли семантика перемещения более удобной для этого?
Если нет, то в каком контексте используется семантика. Если да, каковы различия/ограничения по сравнению с метапрограммированием шаблонов для такого использования?