我们被要求使用堆栈上的内存设计一个 Vector3D 类。我需要将向量除以标量,但是防止除以零的最合适的行为是什么?我可以抛出异常吗?我不想返回 (0,0,0) 的 Vector3D,因为这表明操作成功,而实际上并非如此。
Vector3DStack Vector3DStack::operator / (float s) const
{
if (s == 0)
{
// How should I handle division by zero?
// Method is expecting a Vector3DStack to be returned.
}
return Vector3DStack(x / s, y / s, z / s);
}