小编tem*_*ova的帖子

这两个 lerp 函数有什么区别?

在浮点线性插值中,一位用户提出了以下实现lerp:

float lerp(float a, float b, float f) 
{
    return (a * (1.0 - f)) + (b * f);
}
Run Code Online (Sandbox Code Playgroud)

另一位用户提出了以下实现lerp:

float lerp(float a, float b, float f)
{
    return a + f * (b - a);
}
Run Code Online (Sandbox Code Playgroud)

显然,由于浮点精度损失,后一种实现效果较差。

然后我查看了维基百科,它对前一个实现说:

float lerp(float a, float b, float f) 
{
    return (a * (1.0 - f)) + (b * f);
}
Run Code Online (Sandbox Code Playgroud)

对于后者:

float lerp(float a, float b, float f)
{
    return a + f …
Run Code Online (Sandbox Code Playgroud)

c math floating-point linear-interpolation lerp

9
推荐指数
1
解决办法
782
查看次数

为什么 MyClass foo() 可以访问私有默认构造函数?

下面的代码:

#include <iostream>

using namespace std;

class Myclass
{
private:
    Myclass ();

public:
    int num;
};

int main()
{
    Myclass foo();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在 Eclipse 中编译时不会出现任何警告或错误。

然而

#include <iostream>

using namespace std;

class Myclass
{
private:
    Myclass ();

public:
    int num;
};

int main()
{
    Myclass foo;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

给我这个错误:error: 'Myclass::Myclass()' is private within this context

为什么foo会给我这个错误,而 foo() 却没有?是foo()被误认为是函数还是date_type name()有特殊含义?

c++

-3
推荐指数
1
解决办法
122
查看次数

标签 统计

c ×1

c++ ×1

floating-point ×1

lerp ×1

linear-interpolation ×1

math ×1