任何人都能解释rvalues,左值,POD和非POD方面的细节,下面标记的第一个表达式不正确而下面标记的第二个表达式是否正常?根据我的理解,int()和A()都应该是rvalues,不是吗?
struct A {}; int main() { int i; A a; int() = i; //Not OK (error). A() = a; //OK. return 0; }
c++ pod rvalue lvalue
c++ ×1
lvalue ×1
pod ×1
rvalue ×1