【发布时间】:2017-09-15 19:37:29
【问题描述】:
这个 push_back 重载是如何实现的?
void push_back( T&& value );
或者也许是一种可能的实现方式?
【问题讨论】:
-
只看你电脑上的库头,我看不出在这里粘贴一些实现有什么好处。
-
一种方式:
data[last_element + 1] = std::move(value); -
@JerryCoffin:不——
value本身就是一个左值。您需要std::move使value成为右值引用。 -
@JerryCoffin 右值引用不是右值。
-
@JerryCoffin 不,它被转换为右值;而
value是一个左值,作为一个命名变量。
标签: c++ visual-studio c++11 vector move