函数的return的时候会创建临时变量吗

如果返回的是一个类的对象,如何创建临时变量的,是调用拷贝构造吗

事先就要创建好该对象,例如:

//1. 第一种情况
People p1(); //构造函数被调用
...//省略
return p1; //p1已经被初始化好了。这里不会再创建临时变量;

//2. 第二种情况
return new People();//先创建People的实例(调用people的构造函数),再返回该对象。