C++语言程序设计

| 表3-14 C++运算符的优先级和结合性

优先级 | 运算符 | 种类 | 结合性

最高

: :（全局） |  |  |  |  |

单

从右到左

最高

: :（类域） |  |  |  |  |

双

从左到右

.

( )(括号及函数调用) | - > | . | .[ ]

双

从左到右

.

+ - | ++ -- | ! ~ | * & | new delete | sizeof (类型)

单

从右到左

.

- > * | . * |  |  |  |

双

从左到右

.

+ | / | % |  |  |

双

从左到右

.

+ | － |  |  |  |

双

从左到右

.

<< | >> |  |  |  |

双

从左到右

.

< | < = | > | > = |  |

双

从左到右

.

= = | ! = |  |  |  |

双

从左到右

.

& |  |  |  |  |

双

从左到右

.

^ |  |  |  |  |

双

从左到右

.

双

从左到右

.

& & |  |  |  |  |

双

从左到右

.

双

从左到右

.

? : |  |  |  |  |

三

从左到右

.

= |  |  |  |  |

双

从右到左

最低

, |  |  |  |  |

双

从左到右

每种运算符都有一个优先级，优先级是用来标志运算符在表达式中的运算顺序的。优先级高的先做运算，优先级低的后做运算，优先级相同的右结合性决定计算顺序。
大多数运算符都是按从左到右计算，只有三类运算符的结合性是从右到左。他们是：单目、三目和赋值。这一点一定要记住。