看《C和指针》时,发现P81的++i,i++的结果都是右值类型。
恍惚记得前缀自增自减是左值类型。难道C和C++不一样?
验证了一下,确实不一样。
在C中++i做左值编译失败,在C++中则没有问题。
i++在C/C++中做左值均编译失败。
综上,++i 和 i++在C中都是右值类型,在C++中,++i是左值,i++是右值。
看《C和指针》时,发现P81的++i,i++的结果都是右值类型。
恍惚记得前缀自增自减是左值类型。难道C和C++不一样?
验证了一下,确实不一样。
在C中++i做左值编译失败,在C++中则没有问题。
i++在C/C++中做左值均编译失败。
综上,++i 和 i++在C中都是右值类型,在C++中,++i是左值,i++是右值。