C++运算符优先级
2016-11-27 17:08
253 查看
-> .(点运算符) &(取地址运算符) *(解引用运算符):
假设有一个类,类里面又有一个结构体,有这个类一个对象的指针l_pthis,需要访问这个结构体(m_NotifyIconData)里面的成员(cbSize),代码肯定这样写:l_pthis->m_IconData.cbSize,大家有没有问题:要加一个小括号(l_pthis->m_IconData).cbSize表明先计算->运算符。查看C++运算符优先级表,2个运算符都处于一个优先级,而且是最高优先级,方向是从左向右。不用加小括号就行。
&(取地址运算符) *(解引用运算符)优先级仅次于-> . 结合选性从右向左。如果要对上面的成员取地址,直接写成& l_pthis->m_IconData.cbSize,不用担心先对l_pthis取地址。
附上C++运算符优先级表http://blog.csdn.net/nicky_zs/article/details/4053146
假设有一个类,类里面又有一个结构体,有这个类一个对象的指针l_pthis,需要访问这个结构体(m_NotifyIconData)里面的成员(cbSize),代码肯定这样写:l_pthis->m_IconData.cbSize,大家有没有问题:要加一个小括号(l_pthis->m_IconData).cbSize表明先计算->运算符。查看C++运算符优先级表,2个运算符都处于一个优先级,而且是最高优先级,方向是从左向右。不用加小括号就行。
&(取地址运算符) *(解引用运算符)优先级仅次于-> . 结合选性从右向左。如果要对上面的成员取地址,直接写成& l_pthis->m_IconData.cbSize,不用担心先对l_pthis取地址。
附上C++运算符优先级表http://blog.csdn.net/nicky_zs/article/details/4053146