函数的返回值问题和移动构造

  1. 假如有函数int func(){int a=10;return a;}
    int b=func()
    函数执行return之后,如果返回的是非引用类型,会创建一个临时变量赋值给b,然后释放临时变量
  2. 假如不再是int类型,而是一个类 myint ,return创建临时变量调用的是拷贝构造吗,临时变量给b赋值时是不是也是拷贝构造函数

img

3.如果我定义了移动构造,getobj函数中return创建的临时无名对象调用的是拷贝构造吗?还是调用移动构造
4.临时无名对象给t赋值的时候使用移动构造,临时无名对象是什么时候释放的,执行完移动构造函数吗?
5.我认为是执行完移动构造函数,因为我们在移动构造中改变了临时无名对象的指针指向,所以内存才没才没随着临时无名对象释放
6.如果类T的成员不是指针又该怎么办,或者有其他基本类型数据成员,不是指针不存在改变指向不就被释放了吗?