Я тестирую алгоритмы из c ++ 17, используя эталонный тест, чтобы увидеть скорость каждого из них в различных исполнениях.
Я пытаюсь передать переменные int n1, n2 для работы, но яне могу понять, как.
У меня нет большого опыта использования шаблонов
using namespace std;
template <typename TFunc> void RunAndMeasure(const char* title, TFunc func)
{
const auto start = chrono::steady_clock::now();
func();
const auto end = chrono::steady_clock::now();
cout << title << ": " << chrono::duration <double, milli>(end - start).count() << " ms" << "\n \n";
}
int main()
{
int n1 = 3;
int n2 = 5;
vector<int> v{0, 1, 2, 3, 4};
RunAndMeasure("std::warm up", [&v] {
auto result1 = find(execution::par, begin(v), end(v), n1);
auto result2 = find(execution::par, begin(v), end(v), n2);
if (result1 != end(v)) {
cout << "v contains: " << n1 << '\n';
} else {
cout << "v does not contain: " << n1 << '\n';
}
if (result2 != end(v)) {
cout << "v contains: " << n2 << '\n';
} else {
cout << "v does not contain: " << n2 << '\n';
}
});
return 0;
}