【C++ Primer 习题集】(第5版)P425 练习16.4:编写行为类似标准库find算法的模板。函数需要两个模板类型参数,一个表示函数的迭代器参数,另一个表示值的类型。使用你的函数在一个vector和一个list中查找给定值。
本题是单纯的语法题,虽然代码较多,但也不会写非常详细的注释。
#include<cstdio>
#include<algorithm>
#include<random>
#include<vector>
#include<list>
#include<string>
#include<chrono>
#include<iostream>
#pragma warning(disable:4996)
using std::vector; using std::list; using std::string; using std::cout; using std::endl; using std::uniform_int_distribution;
template<typename I, typename T> inline I Find(I b, const I &e, const T &v){
for (; b != e; ++b)if (*b == v)return b;
return b;
}
void main(){
std::ios::sync_with_stdio(false); std::cin.tie(0);//关闭与stdio的同步,提高cin和cout的速率。
vector<string> u; vector<int> v; list<string> L; size_t s, s0, l, p