突然比较好奇如果在某中class对象在拷贝构造时的函数调用顺序,下面用代码说清楚我的问题:
定义class object,
class object {
public:
...
protected:
...
private:
...
}
上面定义一个object类,假设其操作都为默认操作。那么执行下面的嵌套new代码:
new object(*new object);
虽然只有一行代码,但还是值得研究的。我们知道在类对象构造时,如果是new operator操作,其执行过程可以参考文章:new/delete operator和operator new/delete ,它说明了new操作其实是执行了两个步骤,其一是调用operator new,即申请一定大小的内存;其二是调用类的构造函数,在步骤一分配好的内存上调用产生类对象。那么双层new操作,其执行的步骤到底是怎么样的呢?
其结果不