执行随机开关函数的QT方式是什么连续两次使用相同情况的方法
What is the Qt way of doing a random switch function that never uses the same case twice in a row?
我假设代码应该看起来像这样:
QString Boat::programming()
{
int rand = ???;
switch (rand) {
case 1:
return function1();
case 2:
return function2();
case 3:
return function3();
case 4:
return function4();
case 5:
return function5();
default:
return "";
}
}
要求:
- 当我将函数称为第二或第三次功能时,
rand
无法使用上次或之前的时间相同的值。 - 必须使用QT的框架。
我应该如何处理?
我假设'???'是在所需范围内获取随机数的QT方法。只是包裹'???在存储最后2个值的另一个函数中,它返回...
int myrand()
{
static int pp = -1, ppp = -1;
int p;
do { p = ???; } while (p == pp || p == ppp);
ppp = pp; pp = p;
return p;
}
QString Boat::programming()
{
int rand = myrand();
...
相关文章:
- 如何确保在使用基于布尔值的两个方法之一调用方法时避免分支预测错误
- g++的分段错误(在NaN上使用to_string两次时)
- 蛇在C++不会连续转两次
- 检查一个数组是否包含在另一个数组中,以相反的顺序,至少两次
- 从具有按值捕获的 lambda 移动构造 std::函数时,移动构造函数调用两次
- 我应该如何去缓解两次出现的cin?
- Realloc 两次无法在 Visual Studio 上运行
- 使用 getline(cin, var) 两次在进行字符串比较时会产生错误 (==)
- 为什么映射插入和 map.find() 的单次迭代比插入和 map.find() 的两次单独迭代慢得多
- C++析构函数调用两次,堆栈分配的复合对象
- 从工厂方法返回的ComPtr的引用计数增加两次
- 有什么方法可以通过删除表达式安全地处理两次释放内存?
- 执行随机开关函数的QT方式是什么连续两次使用相同情况的方法
- 为什么基类的构造函数方法被调用两次?
- C 节点本机扩展调用方法两次
- 在资源管理器左窗格上两次调用Windows 7外壳扩展dll Initialize方法
- Java方法调用两次从c++ JNI NDK函数
- c++方法链导致析构函数被调用两次
- 为什么map.insert()方法调用复制构造函数两次?
- (c++)调用一个curl方法两次,给出并出错