左值与右值

左值可以用作右值,但右值不能用作左值左值用的是对象的身份,即内存地址,而右值用的是对象的内容,即

因此,左值不能为常量

取地址符返回的指针右值,其他的运算符返回的基本都是左值

对于decltype来说,如果是左值,则为引用,如果是右值,则为指针

求值顺序

对于运算符所操作的对象,并没有定义运算顺序,也并非是从左到右的,如果出现了这种情况,且会由于顺序而对结果造成影响,则称表达式未定义的

Untitled

只有***&& || ?: ,四种运算符指定了求值顺序***。

算术运算符

正负号$>$乘除取余$>$加减

返回的都是右值

当混合运算时,小整数类型boolcharshort)会自动转换为大整数类型int)。

int会转为float/double。(并不知道具体是哪一个)

一律切除小数部分

$m\bmod n=m\bmod |n|$

m负值时,结果也为负值

逻辑运算符

非$>$大小判断$>$等于判断$>$与$>$或

当一个变量非常大时,遍历时使用引用能避免大量拷贝操作。