有的时候, 我们需要知道系统或者代码在不同输入值情况下的结果, 当我们设置一个值后, 编译数分钟, 然后放在系统中跑起来, 看到一种结果。 然后改变一下这个值, 编译数分钟, 然后放在系统中跑起来, 看到另外一种结果。 这是非常浪费时间的。
有的朋友可能要说, 搞个循环啊, 把可能的输入值循环一遍不就行了? 但是, 有的时候, 不太方便执行这种循环操作, 那怎么搞呢? 我一般用随机数来搞, 下面简单说一下其中的一个例子:
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
int a = time(NULL) % 3;
cout << a << endl;
/*
logic code, use a
*/
return 0;
}
我最近在实际中试了一下, 果然大大提供了调试速度, 快快地找出了bug, 可以变形:
#include <iostream>
#include <ctime>
using namespace std;
int main()
{
int b = time(NULL) % 3;
int a = -1;
if(b == 0)
{
a = -5;
}
if(b == 1)
{
a = -9;
}
if(b == 2)
{
a = -20;
}
/*
logic code, use a
*/
return 0;
}
当然, 上述程序用数组更好, 省去那么多if.
除了随机数, 还有没有别的方法呢? 当然有, 比如可以做个本地配置, 通过改配置来实现对a变量进行操作, 但这个方法不是很好, 因为改配置后, 通常需要重启加载, 这个过程是有时间的, 你愿意等吗? 而且, 你也知道, 有时候, 搞个配置并没有那么快!