今天看到同学们在讨论一个问题,这个问题是知乎上的一个问题,问题描述如下:
class A
{
public:
A(){}
};
int main()
{
A a = A(); //what is returned by A() here, why?
}
这个问题很有意思的,A的构造函数里面什么都没有,那么返回一个怎么样的对象呢,还是会出错呢?
显然这个程序是能够编译通过的,但是我们该怎么认识它呢,我们来看看反汇编吧。
今天看到同学们在讨论一个问题,这个问题是知乎上的一个问题,问题描述如下:
class A
{
public:
A(){}
};
int main()
{
A a = A(); //what is returned by A() here, why?
}
这个问题很有意思的,A的构造函数里面什么都没有,那么返回一个怎么样的对象呢,还是会出错呢?
显然这个程序是能够编译通过的,但是我们该怎么认识它呢,我们来看看反汇编吧。