c++ - 如何比较矢量和浮动*
问题描述
我需要比较两个浮点数组的值是否相等。我知道它们的长度相同。但不幸的是,数组不是同一类型:
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
精确相等的值不是一个好主意。您可能希望使用自定义比较器来检查值是否在某个容差范围内彼此接近。
推荐阅读
- javascript - React从uri下载图像并放入静态文件夹?
- android - Android 的低级日志记录功能线程安全吗?
- python - 使用 Python 将固定宽度的分层文件转换为 CSV
- mongodb - 无法在 Spring Boot 应用程序中连接到 MongoDB
- flutter - Flutter String, dynamic'不是类型的子类型
- mongodb - 如何取消设置嵌套对象数组中的值?MongoDB
- c# - 从 .url 快捷方式文件中获取快捷方式链接
- java - 将 Select 语句限制为持续 10 天
- html - res.sendFile 不呈现 html
- python - Python/Plotly:如何使用要显示的信息自定义悬停模板?