如何比较vector<float>和float*

我需要比较两个浮点数组的值是否相等。我知道它们的长度相同。但不幸的是,数组的类型不同:

bool compare(vector<float> A, float* B) 
{
  // what do I write here?
}

我该怎么做?我对指针不太熟悉。

回答

您可以使用std::equal来比较范围,即使它们具有不同的类型,如下所示:

bool compare(std::vector<float> A, float* B) // [[ precondition: lengths are the same ]]
{
  return std::equal(std::begin(A), std::end(A), B);
}

这依赖于具有相同大小的两个范围,这似乎适用于您的情况。

另请注意,比较float完全相等的值不是一个好主意。您可能想要使用自定义比较器来检查值是否在某个容差范围内彼此接近。


以上是如何比较vector&lt;float&gt;和float*的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>