一个类T
应提供一个成员函数,该函数将一些但不是所有成员变量(最小示例:只有一个变量X
)从一个类型的对象复制T
到另一个类型的对象T
。有两种可能的解决方案,从复制和复制到:
class T {
some_type X;
[...]
void copy_X_from_other( const T& other ) { X = other.X; }
void copy_X_to_other ( T& other ) const { other.X = X; }
};
有理由更喜欢一种变体而不是另一种吗?是否有指导方针、最佳实践示例或任何其他内容?
函数应该如何命名?一个理想的名称应该比 短得多copy_(from|to)_other
,但不要怀疑复制的方向。