首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

简单的有关问题()和->的优先顺序

2012-02-22 
简单的问题()和-的优先顺序((Mac *)ifqueuelist[0]-target())-addr()这一句,是将ifqueuelist转化为mac

简单的问题()和->的优先顺序
((Mac *)ifqueuelist[0]->target())->addr()
这一句,是将ifqueuelist转化为mac类对象,还是将target函数的返回值转化为mac对象
谢谢各位大虾,最好能再详细讲讲

[解决办法]
首先调用:

ifqueuelist[0]->target()

然后把返回值强制类型转换为(Mac *)

然后再调用addr()函数...
[解决办法]
((Mac *)ifqueuelist[0]->target())->addr() 

#define (Mac *)ifqueuelist[0]->target() pt

then ((Mac *)ifqueuelist[0]->target())->addr() is equal to

pt->addr()
[解决办法]

探讨
首先调用:

ifqueuelist[0]->target()

然后把返回值强制类型转换为(Mac *)

然后再调用addr()函数...

[解决办法]
同意
探讨
首先调用:

ifqueuelist[0]->target()

然后把返回值强制类型转换为(Mac *)

然后再调用addr()函数...

[解决办法]
探讨
强制转换的优先级最高...

[解决办法]
ifqueuelist[0]->target() 转换为 Mac* 再引用addr()

探讨
先将ifqueuelist[0]转换为Mac*类型的指针,再引用target()函数,返回值在引用addr()

[解决办法]
不知道。但:
一、不要使用旧式的强制转换符。使用static_cast,这样就不会有这个问题了。
二、记不住的时候用括号。

热点排行