我正在阅读 STL 源代码,但我不知道 &&
地址运算符应该做什么。这是来自 stl_vector.h
的代码示例:
vector&
operator=(vector&& __x) // <-- Note double ampersands here
{
// NB: DR 675.
this->clear();
this->swap(__x);
return *this;
}
“地址”是否有意义?为什么它有两个地址运算符而不是一个?
原文由 Anarki 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是 C++11 代码。在 C++11 中,
&&
标记可用于表示“右值引用”。