提问人:KryptoHuman 提问时间:9/19/2023 最后编辑:AmitKryptoHuman 更新时间:10/31/2023 访问量:201
为什么 std::ranges::binary_search 和 std::binary_search 对同一输入产生不同的结果?
Why do std::ranges::binary_search and std::binary_search produce different results for the same input?
问:
我不明白为什么工作与.例如,这种代码:std::ranges::binary_search
std::binary_search
std::vector<int> A = { 0, 10, 12, 30 };
std::cout << std::ranges::binary_search(A.begin(), A.end(), 28) << std::endl;
std::cout << std::binary_search(A.begin(), A.end(), 28) << std::endl;
这将输出:
1
0
有人可以解释吗?
我尝试在矢量中更改类型,并且检查了没有迭代器的范围版本。当然,我也检查了 cppppreference 的文档,但这些都无济于事。
答:
0赞
Amit
10/28/2023
#1
#include <vector>
#include <algorithm>
#include <iostream>
int main()
{
std::vector<int> A = { 0, 10, 12, 30 };
std::cout << std::ranges::binary_search(A.begin(), A.end(), 28) << std::endl;
std::cout << std::binary_search(A.begin(), A.end(), 28) << std::endl;
}
两者都产生相同的结果:
0
0
评论