1
void setCurrentTransformations(const NodeTransformations& theSet){
    m_currentTransformations=theSet;
}

我想确认我完全理解这一点,因为theSet在调用此函数之后就超出了范围。

这实际上会复制 theSetm_currentTransformations,对吗?换句话说,它是安全的,无论theSet调用者的范围如何。

事实上,如果这是一个指针而不是一个引用,我知道它是不安全的。但我在这里假设它非常好,并且m_currentTransformations会复制theSet,这样引用的原始值会发生什么并不重要theSet,对吧?

4

1 回答 1

4

这实际上是将 theSet 复制到 m_currentTransformations 中,对吗?

当然,这是要复制的。但是,它将使用类的赋值运算符来执行此操作NodeTransformations,因此您可能需要注意它的定义方式。如果定义了复制构造函数,通常还需要赋值运算符和析构函数(通常称为三规则)。

于 2013-04-24T18:25:52.367 回答