这里讨论两种情况下的拷贝函数调用:
- 作为参数传值过程中的拷贝函数调用,有一个Dog类,d1是Dog类的一个实例现在通过function将d1传入,void function(Dog dog); d1是dog的实参,在调用function的过程中产生了一个拷贝构造的调用,相当于Dog dog = Dog(d1);
- 作为返回值产生的拷贝构造函数的调用,例如有函数:
Dog function(){
Dog d;
return d;
}
在main函数中调用该函数返回一个Dog值:
Dog dog = function();
这个调用过程中,产生了一个拷贝函数的调用function中 return d不是返回的d,而是 通过拷贝函数,将d的值赋值给了一个临时的Dog类对象,让后将这个临时对象的值 赋给dog。
标签:function,调用,dog,函数调用,Dog,拷贝,时机 From: https://www.cnblogs.com/meetalone/p/17151786.html