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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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