小编M H*_*M H的帖子

使用const double * const作为模板参数-代码日志

我试图了解const double* const用作模板的内幕。我有一些非常基本的计算想要高效执行,但是我不知道c ++编译器是如何工作的(汇编代码是什么)。

这个想法是为一个函数创建一个模板,该函数将3个常量double用作模板参数,并将double用作参数。

constexpr double p1 = 1;
constexpr double p2 = 2;
constexpr double p3 = 3;

template <const double* const a, 
        const double* const b, 
        const double* const c>
inline double func(double value)
{
    constexpr double d = *a - *b;
    constexpr double e = *a - *c;
    constexpr double ratio = d / e;
    constexpr double remain = *c - *a * ratio;

    return value * ratio + remain;
}

double func2(double c) …
Run Code Online (Sandbox Code Playgroud)

c++ double templates precompiled constexpr

4
推荐指数
2
解决办法
72
查看次数

标签 统计

c++ ×1

constexpr ×1

double ×1

precompiled ×1

templates ×1