c++ - 使用 std::count 计算一对数组中的相等值

标签 c++ arrays c++11 counter

给定一对等长数组。 .

void someFunc (const float **inputChannelData)
{
    const float* L = inputChannelData[0];
    const float* R = inputChannelData[1];
    ...

我可以看到使用 std::count 计算常量值的出现次数非常容易。 .

std::count(L, L+someIntegerOffset, 0.0f)

...但是是否有一种标准算法(或成语)可以计算两个数组中相同值的元素数量(每个数组中的相同索引)?

Matlab 等价物看起来像 sum(L==R)

最佳答案

std::count 具有谓词形式 std::count_if,并且 documentation建议它通过左值获取参数。

所以我相信我可以破解一个捕获两个数组的 lambda,从 &arg 获取距离/索引,然后检查两个值。我怀疑我会那样使用它而不是老式的 for 循环。

关于c++ - 使用 std::count 计算一对数组中的相等值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16960086/

相关文章:

c++ - 如果我的 VBO 类引用顶点数组,数据是否仍存储在 GPU 上?

C++ 数组运算符开销

c++11 - 带有 std::vector 智能指针的深拷贝构造函数

c++ - “卡住”一个表达式

C++在遍历列表时从列表中删除

c++ - 我可以在定义中使用三元运算符来反对使用 if 吗?

c++ - 如何根据过去在 C++ 中的成功获得具有自适应排序的整数集合?

python - 按索引访问数组

java - 理解 list[i-1] 与 list[i]-1

c++ - 在函数参数上向上转换模板对象失败