C++函数返回有关问题

C++函数返回问题
如果编译器禁止优化,从理论的角度来看,返回一个对象然后赋值给某个变量,这里经历了那些函数调用,构造了几个对象。
例如:
A getA()
{
A tmp;
return tmp;
}

A a = getA();

上面这句话发生了什么?


------解决思路----------------------
不考虑优化 就是,一个tmp局部,一个临时,然后加上a