duk*_*ave 1 c++ templates types
在以下函数中,我正在寻找要替换的表达式isIntegral<T>.
意图是,当T我们添加0.5f之前我们添加的整数类型static_cast值(因此我们得到一个舍入值),但是当T它是小数类型时我们什么都不添加,因此static_cast只能降低精度.
T interpolate( T const & prev, T const & next, float interpolation )
{
float prevFloat = static_cast< float >( prev );
float nextFloat = static_cast< float >( next );
float result = prevFloat + ( (nextFloat-prevFloat) * interpolation );
return static_cast< T >( result + ( isIntegral<T> ? 0.5f : 0.0f );
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
122 次 |
| 最近记录: |