静态大小的valarray实现

sba*_*bbi 6 c++ constexpr c++11

我正在寻找静态大小的std::valarray实现。

我自己可以轻松实现它,但是我需要进行constexpr操作(求和,减法等),而且这样做很无聊/容易出错,所以我在这里问是否有一个流行的实现。

如果我必须自己实现这一点,那么您认为在这种情况下表达式模板值得吗?

tow*_*owi -3

C++11怎么array样?

但你必须自己实现算术。这样容易出错吗?我不这么认为。也许很无聊。那么C++99valarray中的goo' ol' 又如何呢?你已经有了算术——但是,可惜,它们还没有。constexpr

但是您可以采用它的实现,将其包装在一个简单的array专业化中,这样您就可以完成一个不易出错、令人兴奋的任务;-)

我本人很想尝试使用表达式模板。但这取决于您在路上获取代码的速度。一开始可能很难做到,但从长远来看更容易维护(对于你自己和其他模板魔术师来说)。而且更有趣。

  • 我不确定为什么上述内容被接受为答案,因为它似乎没有回答问题。我能够创建一个 constexpr 作为 C 样式数组,但在 C++ 中没有明显的方法。这看起来倒退了。我查看了 array,它没有解决创建在编译时评估的 constexpr 的问题,我知道至少有 5 种在运行时执行此操作的方法,但如果它在编译时在 C 中可行,那么似乎C++ 应该有一个 C++ 特定的方法来执行相同的操作。Stroustrup 继续讨论使用 C++ 风格而不是 C,但如果 C++ 不能做到这一点,那就远远不够了。 (4认同)