运算符优先级

又倒腾一遍优先级的原因是遇到了下面的问题:

假设data是一个struct,并含有一个int型的a成员,则 (double)data.a有没有语法错误呢?首先()和.具有相同的优先级,并且是从左向右结合的。

所有data应该先转换为double型的数据。但是(double)data.a是完全正确的。从上面的图中可以看出,当()作为强制转换运算符时,其优先级是

低于.的。

posted on 2014-02-24 19:55  江在路上2  阅读(144)  评论(0编辑  收藏  举报