在进行一些重构时,我发现我经常使用一对或浮点数来表示初始值,并且该值随时间线性变化。我想创建一个结构来容纳两个字段,但是我找不到合适的名称。
它看起来应该像这样:
struct XXX
{
float Value;
float Slope; // or Delta? or Variation?
}
任何建议将不胜感激。
最佳答案
由于您有一个初始值和一个指示“事物”如何演变的值,因此可以使用“线性函数”之类的东西。
我还将添加必要的成员函数:
struct LinearFunction {
float constant;
float slope;
float increment( float delta ) const { return constant + delta*slope; }
void add( const LinearFunction& other ) { constant += other.constant; slope += other.slope; }
LinearFunction invert() const {
LinearFunction inv = { -constant/slope, 1./slope; };
return inv;
}
};
还是我渴望在这里?