【发布时间】:2019-05-18 03:48:39
【问题描述】:
在某些情况下,需要根据某些属性来限制类型的可能值。需要对示例浮点数或数学向量进行归一化。为这些情况创建类并使用运算符重载在类型之间切换是一种好习惯吗?
例如,有一个vector2 和vector2_normalized 类,其中vector2_normalized 的运算符可以改变向量的长度(+、-、标量* 和/、..)返回一个vector2 实例,而其他的返回一个vector2_normalized 实例。然后使用隐式转换在两者之间自动转换。这样必须归一化的向量可以使用这种类型,并且可以消除归一化错误。
【问题讨论】:
-
请尽量使用伪代码甚至图表来解释抽象概念。正确地提出问题也是自己找到答案的最佳方式之一。
标签: c++ design-patterns architecture