基礎概念:
組合運算符和運算對象(優先級與結合律)
運算對象轉換(類型轉換)
運算符重載(<< >>之類)
左值和右值
算術運算符
一元負號對布爾值的運算不起作用
提示:注意溢出和其它算術運算異常
邏輯和關系運算符
邏輯與和邏輯或運算符
邏輯非運算符
關系運算符
賦值運算符
賦值運算滿足右結合律
賦值運算優先級較低
注意:切勿混淆相等運算符和相等運算符
復合賦值運算符
遞增和遞減運算符
建議:除非必須,否則不建議使用遞增遞減運算符后置版本。
*p++ = *(p++) //簡潔可以成為一種美德
成員訪問運算符(.和->)
條件運算符 A>B ? A : B;類似這種
位運算符:
建議僅將位運算符用於處理無符號類型。
位移運算符
位求反運算符
位與 位或 位異或運算符
移位運算符(又叫IO運算符) 滿足左結合律
cout<<"hi"<<"there"<<endl;
sizeof運算符
逗號運算符
類型轉換
隱式轉換 例如:int ival = 3.14 + 3;
算術轉換
整型提升(其實就是超出范圍了把自動類型擴大)
其它隱式轉化
數組轉換成指針,,
顯式轉換
命名的強制類型轉換
static_cast const_cast reinterpret_cast
附:運算符優先表