C 或 C++ 中是不是存在用于常见数学运算(例如最小值、最大值和平均值)的可导入库? [关闭]

Posted

技术标签:

【中文标题】C 或 C++ 中是不是存在用于常见数学运算(例如最小值、最大值和平均值)的可导入库? [关闭]【英文标题】:Do importable libraries exist for common mathematical operations (e.g. min, max and mean) in C or C++? [closed]C 或 C++ 中是否存在用于常见数学运算(例如最小值、最大值和平均值)的可导入库? [关闭] 【发布时间】:2020-01-02 14:37:34 【问题描述】:

我是一名 Python 程序员,开始学习 C/C++。然而,我发现的一个问题是 C 语言似乎缺乏很多“基本”数学运算。例如,甚至可以找到数组的最小值、最大值或平均值。

以查找数组的最大值为例。我很欣赏这是一个“简单”的任务,我可以编写一个简单的循环来遍历整个数组并将每个元素与当前找到的最大值进行比较,如果超过它,则用当前元素替换这个最大值。但是,在我从事的每个项目中,都必须定义这些常用函数,这很烦人。

因此,我想知道是否有广泛使用/接受的 C 和 C++ 库用于此类数学运算(即类似于 Python 的 numpy),这将节省时间并限制我通过重写常用算法来引入错误的机会?

更一般地说,这在 C/C++ 程序中是否会被认为是不好的做法 - 这样的程序员是否只是希望看到从第一原理编码的所有内容?

谢谢

【问题讨论】:

对于 C,这样的库是存在的,但它们不是标准的——通常你必须找到你想要的库并自己安装到你的系统上。 这样的程序员是否只是希望看到所有内容都根据第一原理进行编码?不,这在任何语言中都是一个可怕的想法。除非您需要一次性/定制的东西,否则请使用内置的东西,因为它通常与您自己一样好或更好。 C++ 中有很多 algorithm library,例如 std::max_element。您需要决定是否要学习 C 或 C++;它们是非常不同的语言。 en.cppreference.com/w/cpp/numeric 【参考方案1】:

#include <algorithm>

这似乎就是您要找的东西。

https://en.cppreference.com/w/

这个网站对于 c++ 库来说也是一个很好的参考。

【讨论】:

我建议更改或添加指向 cppreference 的链接;它是最新的。另外值得注意的是,<algorithm> 没有像 OP 想要的那样简单的均值函数。 不仅<algorithm>,还有<numeric> 感谢(感谢 Cameron 和所有人)提供有见地的 cmets 和随后的讨论。这些库听起来很有用 - 现在将对其进行更多研究。

以上是关于C 或 C++ 中是不是存在用于常见数学运算(例如最小值、最大值和平均值)的可导入库? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

运算符及优先级

用于 OpenGL 的轻量级数学库

LaTeX数学符号大全

异或运算的作用

用于向量中结构的 C++ 访问索引或使用引用而不是值

C++基础学习(05)——运算符