【发布时间】:2013-10-30 04:07:19
【问题描述】:
//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。
【问题讨论】:
-
右值没有名称。
s有一个名字,“s”
标签: c++11 move-semantics