Я не понимаю, когда я должен использовать 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