Comment Comment by detrino Returning a stack allocated value is a move in C++11/14. It is also true that in many circumstances a compiler may optimize that move away using RVO/NRVO.Consider this example: http://ideone.com/T872OjIn F1 the compiler can NRVO away the move.In F2 it cannot.Both will fail to compile if you delete the move constructor. parent detrino 9 years ago
Consider this example: http://ideone.com/T872Oj
In F1 the compiler can NRVO away the move.
In F2 it cannot.
Both will fail to compile if you delete the move constructor.