又倒腾一遍优先级的原因是遇到了下面的问题:
假设data是一个struct,并含有一个int型的a成员,则 (double)data.a有没有语法错误呢?首先()和.具有相同的优先级,并且是从左向右结合的。
所有data应该先转换为double型的数据。但是(double)data.a是完全正确的。从上面的图中可以看出,当()作为强制转换运算符时,其优先级是
低于.的。
posted on 2014-02-24 19:55 江在路上2 阅读(144) 评论(0) 编辑 收藏 举报