在进行一些重构时,我发现我经常使用一对或浮点数来表示初始值,并且该值随时间线性变化。我想创建一个结构来容纳两个字段,但是我找不到合适的名称。

它看起来应该像这样:

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;
    }
};


还是我渴望在这里?

10-06 08:30