void setCurrentTransformations(const NodeTransformations& theSet){
m_currentTransformations=theSet;
}
我想确认我完全理解这一点,因为theSet
在调用此函数后就超出了范围。
这实际上是复制 theSet
到m_currentTransformations
,对吗?换句话说,无论调用者theSet
的范围如何,它都是安全的。
事实上,如果这是一个指针而不是一个引用,我知道不是安全的。但我在这里假设它完全正常,m_currentTransformations
将复制theSet
,以便theSet
引用的原始值发生什么不重要,对吗?
答案 0 :(得分:4)
这实际上是将theSet复制到m_currentTransformations中,对吗?
当然,这将是一个副本。但是,它将使用NodeTransformations
类的赋值运算符来执行此操作,因此您可能需要注意它的定义方式。如果定义了复制构造函数,通常也需要赋值运算符和析构函数(that is commonly known as the rule of three)。