C/C++左值性精髓 (三)左值转换
左值转换又称为从左值到右值的转换。左值转换的发生一般基于两个原因: 第一:某些运算符仅要求右值操作数,例如+、-双目运算符,如果给予它们一个左值操作数,这时候就需要把左值转换为右值; 第二:某些指示符,例如数组和函数,由于不属于标量类型,即所代表的实体本身不能被视为数值,这些指示符欲参与表达式计算,就必须将其数值化,数值化的结果不同于一般对象的值,而是实体地址。 因此,基于上述原因,左值转换分为三类,分别是从左值到右值的转换、从数组到指针的转换和从函数到指针的转换。C++基于函数重载解析的需要,将上述三类左值转换概念化了,但C仅提出了条款,没有提出概念。 |
|
来自: lifei_szdz > 《C 》