I've read some descriptions about move semantics in C++11 and I wonder in what context it could be used. Currently, many C++ math libraries use template metaprogramming to delay evaluation.
If M = A + B + C*D, where M, A, B, C and D are matrix, template metaprogramming allow to avoid useless copies. Is move semantics a more convenient manner to do these sort of things ?
If not, in what context move semantics is used. If yes, what are the difference/limitations compared to template metaprogramming for that kind of use ?
See Question&Answers more detail:os