在本节中,我们将看到如何使用C ++ STL函数生成测试用例。有时为阵列程序生成测试用例可能非常复杂且效率低下。C ++提供了两种生成测试用例的方法。这些方法如下-
C ++函数std::algorithm::generate()将连续调用gen返回的值分配给first至last范围内的元素。它首先使用三个参数,last和gen,它们是正向迭代器到初始位置,向后迭代器到最终位置,以及不带参数调用的生成器函数和返回值。
让我们看下面的实现以更好地理解-
#include <bits/stdc++.h> using namespace std; int create_random() { return (rand() % 1000); } int main () { srand(time(NULL)); vector<int> data(15); generate(data.begin(), data.end(), create_random); for (int i=0; i<data.size(); i++) cout << data[i] << " " ; }
449 180 785 629 547 912 581 520 534 778 670 302 345 965 107
C ++函数std::algorithm::generate_n()将前n个元素的连续调用返回的值分配给gen。它首先需要三个参数,即n和gen,它们是将迭代器转发到初始位置,调用的数量将存在,并且将调用不带参数的生成器函数,并返回值。
让我们看下面的实现以更好地理解-
#include <bits/stdc++.h> using namespace std; int create_random() { return (rand() % 1000); } int main () { srand(time(NULL)); vector<int> data(15); generate_n(data.begin(), 6, create_random); for (int i=0; i<data.size(); i++) cout << data[i] << " " ; }
540 744 814 771 254 913 0 0 0 0 0 0 0 0 0