C ++ 11 Оптимизация возврата или перемещение? [дублировать]C++

Программы на C++. Форум разработчиков
Anonymous
C ++ 11 Оптимизация возврата или перемещение? [дублировать]

Сообщение Anonymous »

Я не понимаю, когда я должен использовать std :: move < /code> и когда я должен позволить компилятору оптимизировать ... Например: < /p>

using SerialBuffer = vector< unsigned char >;

// let compiler optimize it
SerialBuffer read( size_t size ) const
{
SerialBuffer buffer( size );
read( begin( buffer ), end( buffer ) );
// Return Value Optimization
return buffer;
}

// explicit move
SerialBuffer read( size_t size ) const
{
SerialBuffer buffer( size );
read( begin( buffer ), end( buffer ) );
return move( buffer );
}
< /code>

Что мне использовать? < /p>

Подробнее здесь: https://stackoverflow.com/questions/174 ... on-or-move

Вернуться в «C++»