C/C++运算符优先级补记

Posted on 2013年9月20日 15:31

虽然是非常基础的知识,但还是重新总结一下,免得哪天掉坑里。

优先级的列表就不再贴了,wikipedia上总结的很好了。但是若仔细搜索一下,会发现能找到多个不同的版本,显然有些是错的。

下面是需要注意的点:

1.前置自增/自减和后置自增自减的优先级是不同的,有人给出的优先级列表就犯了这种错误。后置自增自减的优先级更高。

2.位运算的&  ^  |三者优先级不同,且都低于比较运算符。逻辑运算符&&比||优先级高,这几点很坑,为了防止混淆,用的时候最好加括号。

3.逗号运算符的优先级最低,除去::(反正它基本不会产生混淆),[] . ->的优先级位于第一梯队。