//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++ 入门 5th p545。
//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++ 入门 5th p545。