samedi 22 octobre 2016

Does the use of std::move have any performance benefits?

Please consider this code :

#include <iostream>
#include <vector>
#include <utility>

std::vector<int> vecTest;
int main() 
{
    int someRval = 3;
    vecTest.push_back(someRval);
    vecTest.push_back(std::move(someRval));
    return 0;
}

So as far as I understand, someRval's value will be copied into vecTest on the first call of push_back(), but on the second someRval is cast to an l-value. My question is, will there ever be any performance benefit, I mean probably not with int but would there maybe be some performance benefit when working with much larger objects?

Aucun commentaire:

Enregistrer un commentaire