https://nihil.cc/posts/cpp_lvalue_rvalue/
[C ] 深入了解左值与右值 - Nihil