Re[3]: return SomeClass()
От: srggal Украина  
Дата: 16.02.06 18:37
Оценка:
Здравствуйте, Init64, Вы писали:

I>Этот код я компилировал еще в MSVC 2003. А там вроде NRVO даже близко не пахнет. Так что теоритически все должно отработать так как я описал в первом посте. Вопрос по-прежнему остается открытым.


Если я все правильно понимаю, то я сам виноват в том, что Вы запутались


TestClass TestFunc()
{    
    TestClass        a; // Named RVO
    return a;
}

TestClass TestFunc()
{    
    return TestClass(); // RVO
}


Попробуйте скомпилировать вариант с NRVO, в 2003 — он не должен Вас удивить.
... << RSDN@Home 1.1.4 stable rev. 510>>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.