https://blog.csdn.net/yanglingwell/article/details/51173063
prvalue = 纯右值 = (C++17) “初始化”
prvalue----temporary materialization conversion 临时物化------>glvalue
lvalue = 左值=有身份,不能被移动
rvalue = 右值=能被移动
glvalue = 广义左值=有身份的
xvalue = 混合=有身份,也能被移动
C++17 要求 void f(S s) ; f(S{1}) 一共只有一个S对象