0

我最近了解到

Object const & object();

Object o = object();

会导致副本。所以我很好奇什么时候发生

Object const o = object();

会做。

4

3 回答 3

1

它也会制作副本。

为避免复制,您可以创建一个与函数返回的引用绑定到同一对象的引用:

Object const & o = object();
于 2013-02-16T14:26:21.537 回答
0

同样复制,o只要它是一个对象,就应该构造你的。在这里复制构建。

于 2013-02-16T14:26:38.993 回答
0

引用不是对象,但它们只是一个别名,因此分配引用与分配对象相同。

Object const & object();

Object o = object();   //here o is not constant. you can do o=object() again.

Object const o = object();  //here o is constant. you can't do o=object() again after its initialization.
于 2013-02-16T14:37:39.490 回答