<分区>
我总是听说这样的规则,即按值更改提供给函数的参数是糟糕的编码风格。相反,最好创建一个经过修改的拷贝。
但我认为在以下情况下更改函数参数是可以接受的。您认为最好的方法是什么?
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);
}