c++ - 有什么简单的方法可以为 std::array 和 std::vector 实现算术运算?

标签 c++ arrays vector containers

重载各种算术运算符(+-*/+=, ...) 对于 std::arraystd::vector?算术运算是成员级的。类似下面的内容

template<class ContainerT, class opT>
ContainerT operator opT(ContainerT const& a, ContainerT const& b)
{
    ....
}

template<class ContainerT, class opT>
ContainerT operator opT=(ContainerT const& a, ContainerT const& b)
{
    ....
}

最佳答案

std::vector<int> input1(..);
std::vector<int> input2(..);
std::vector<int> output(input1.size());
std::transform (input1.begin(), input1.end(), input2.begin(), output.begin(), std::plus<int>());

还有其他仿函数可供选择,您始终可以自己制作或使用 lambda。

关于c++ - 有什么简单的方法可以为 std::array 和 std::vector 实现算术运算?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22740277/

相关文章:

c++ - 我可以用密码保护应用程序吗?

Javascript/Google map API - "TypeError: undefined is not an object (evaluating ' 地址[x][0]')

c++ - 何时使用 vector 而不是数组?

c++ - 为什么 std::fstream 使用 char*?

c++ - 如何对具有两个变量的 vector 进行排序?

c++ - 如何通过 CGAL 的一些 3D 共面顶点生成 delaunay

DLL 中的 C++ 新 gdiplus::bitmap 返回 null

c++ - 检查浮点是否为整数的最佳方法

java - 通过数组列表进行打印的方法无法正常工作

php - 如何将文本中的单词描述添加到数组中,通过传递单词到数组键中?