>>548
T&&は右辺値参照
C++11で導入された「もう使わない値」を使いわますための仕組み

わかりやすい例だと
std::vector<int> mk10000(){
// 10000要素のvectorを適当に作って返す
}

struct C{
using ivec=std::vector<int>;
ivec _v;
C(const ivec&v): _v(v){}
C(ivec&&v): _v(std::move(v)){}
};

int main(){
C c(mk10000());
}

const T&のやつしかないと、vectorが持ってる10000要素を全部コピーするしかないが、
(その直後にもう使わないコピー元を破棄しなきゃいけない)
T&&のやつがあるとvectorが内部で持ってるポインタを差し替えるだけで済む。