std::move 将参数变换为右值
main调用一个函数foo(),参数押入stack, 把返回值空间预留,然后是代码stack, 如果做return value optimazation, 返回值不用原来fp 指向内容,而是直接用stack空间的值。
foo返回后,main从fp取返回值。
参考
https://www.ibm.com/developerworks/community/blogs/5894415f-be62-4bc0-81c5-3956e82276f3/entry/RVO_V_S_std_move?lang=en
https://www.cs.umd.edu/class/sum2003/cmsc311/Notes/Mips/stack.html