lower_bound
不会出现任何错误,但upper_bound
会出错。在搜索时,它出现在<algorithm>
头文件中。
为什么不一致?会很有趣。
C ++代码:
#include <iostream>
#include <vector>
using namespace std;
int main() {
vector<int> ans={1,5,7,8};
cout<< upper_bound(ans.begin(), ans.end(), 16) -ans.begin() <<endl;
cout<< lower_bound(ans.begin(), ans.end(), 16) -ans.begin() <<endl;
return 0;
}
输出:
/tmp/a.cpp: In function ‘int main()’:
/tmp/a.cpp:7:50: error: ‘upper_bound’ was not declared in this scope
cout<< upper_bound(ans.begin(), ans.end(), 16) <<endl;
修改
$ g++ -v
gcc version 5.2.1 20151010 (Ubuntu 5.2.1-22ubuntu2)
答案 0 :(得分:0)
当您包含任何std标头时,可以导入std中的任何和所有符号。
基本上,您可以保证所要求的标题中的符号可用。额外的可以来。
所以这符合要求。