我常听到这样一个规则:改变函数参数的值是不好的编码风格。相反,最好创建一个被修改的副本。
但是我认为在下面这种情况下更改函数参数也是可以接受的。您认为最好的做法是什么?
Point3f GetWorldPoint(int x, int y)
{
x = saturate(x, 0, width);
y = saturate(y, 0, height);
...
}
template<typename T>
T saturate(T val, T min, T max) {
return std::min(std::max(val, min), max);
}