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