2012-11-04 29 views

回答

2

是的,如果你传递一个左,左值到右值的转换也多,这意味着调用拷贝构造函数对象复制到新的副本并将其作为参数传递。

+0

那么......但是如果你仍然有这样的约束:类型必须是可复制的(并且你这样做,否则'g ++'会输出一个错误),那么你的答案和billz是等价的还是不相等的? –

+0

@LorenzoPistone no。复制构造函数可能被删除或私有。它不一定是不平凡的,但称它是不合格的。 –

1

void f(...)正在使用位控制副本。您的somestruct将不会生成默认构造函数或复制构造函数,因为它只有C++内置类型。

Is this safe? 

是的,这是非常安全的。

我将把你“里面的C++对象模型” chapter 2 The Semantics of Constructors

+0

你有参考吗? –

+0

我注意到现在结构必须是可复制的。 –

+0

@LorenzoPistone:结构必须是POD类型。 –

相关问题