1
//move the element
void StrVec::push_back(string &&s)
{
chk_n_alloc();
alloc.constructor(first_free++,std::move(s));
}
alloc是分配器的對象。 不關心chk_n_alloc()。 我只想知道s已經是一個右值,爲什麼要調用std :: move將s給構造函數?代碼來自C++ primer 5th p545。爲什麼要調用std :: move將s傳遞給構造函數?
右值沒有名稱。 's'有一個名字,「s」 –