У меня есть функция, которая выглядит следующим образом:
// Fetch 1 MB of data
void GetData(std::vector<char> & outData);
1 МБ преувеличено, но я просто хочу подчеркнуть, что желательно избегать ненужных копий.
Если ядобавьте эту перегрузку:
std::vector<char> GetData()
{
std::vector<char> result;
GetData(result);
return result;
}
Тогда насколько вероятно, что RVO вступит в действие?