如果我编写了一个在本地实例化对象然后按值返回的工厂方法,打算利用 NRVO(根据这里的一些答案:c++11 Return value optimization or move?),指针/引用会指向本地对象指向分配了方法返回值的对象?
Object ObjectBuilder::BuildObject( void )
{
Object obj;
//this->ObjectReference = obj; //Disregard this
//OR
this->ObjectPtr = &obj;
return obj;
}
正在使用:
ObjectBuilder builder;
Object newObject = builder.BuildObject();
builder.ObjectPtr 是否引用 newObject?