What is the advantage of using std::move() in parametrized constructor (with initializer list) instead of regular member initialization, i.e., assign?
e.g.,
#include <iostream>
#include <vector>
template <typename V>
class myVec{
private:
std::vector< std::vector<V> > vec;
public:
myVec1(const std::vector< std::vector<V> > &myArr):vec(myArr) {};
myVec2(const std::vector< std::vector<V> > &myArr):vec(std::move(myArr)) {};
};
How much of an advantage (memory, performance, etc.) does one gain from using myVec1 instead of the other?