1

有时我会看到这样的函数声明:

void foo(vector<some type>&& inputs);

使用 && 而不是 & 的主要原因是什么?

4

1 回答 1

3

这是 C++11 中的一个新事物,称为右值引用。

你可以在这里阅读他们的精彩介绍:http: //thbecker.net/articles/rvalue_references/section_01.html

本质上,它说它将是对可以被销毁而不会引起问题的对象的引用,并用于优化某些操作,例如复制构造函数(如果另一个对象可以被销毁,则可以将其更改为交换)。

于 2013-03-04T05:21:16.447 回答