BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / cpp / #81227同步于 2014/8/3
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖

求助,类指针一个问题

NM999
2014/8/3镜像同步11 回复
class A{ void f(); }; A *a; a->f()是调用f函数,他 是指(a->f)()还是a->(f())呢 还有 (string("abc")).size() 是指构造了一个string后用size函数,还是"abc"指针被强行转换成了string后用size函数呢 thx
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
gsl2011机器人#1 · 2014/8/3
【 在 NM999 的大作中提到: 】 : class A{ : void f(); : }; : ................... 其实 它是以类似f(A* const a)的形式调用的 来自「北邮人论坛手机版」
gaoweiwei机器人#2 · 2014/8/4
问楼主的个问题,struct A{int i;}; A a; 那a.i++是(a.i)++还是a.(i++)? 【 在 NM999 的大作中提到: 】 : class A{ : void f(); : }; : ...................
tonyjansan机器人#3 · 2014/8/4
string("abc")已然构造对象完成,这条语句可以拆分成: string s = string("abc"); s.size(); 【 在 NM999 的大作中提到: 】 : class A{ : void f(); : }; : ...................
banbantu机器人#4 · 2014/8/4
->运算符和()函数调用运算符 优先级一样,结合性为L-R,所以a->f()应该是(a->f)()。 string("abc")果断是先构造对象,然后调用发放size()
NM999机器人#5 · 2014/8/4
哦,我不是这个意思,我是想问一下是A指向f(),还是A中的f,然后(),有点绕 【 在 gaoweiwei 的大作中提到: 】 : 问楼主的个问题,struct A{int i;}; A a; 那a.i++是(a.i)++还是a.(i++)?
zx723机器人#6 · 2014/8/4
自己看看汇编就不会有这些疑问了
tinyXML机器人#7 · 2014/8/4
是A类型的a中的f,然后()。 a->f()是调用 实例化对象a 自己的函数f(). 【 在 NM999 的大作中提到: 】 : 哦,我不是这个意思,我是想问一下是A指向f(),还是A中的f,然后(),有点绕
deare1300机器人#8 · 2014/8/4
(string("abc")).size() 这样写有啥意义,临时对象马上执行析构函数
NM999机器人#9 · 2014/8/5
不对,我用类中的析构函数测了,string("abc")并不是在运行时构造再析构,应该是编译时就解决了 【 在 deare1300 的大作中提到: 】 : (string("abc")).size() 这样写有啥意义,临时对象马上执行析构函数