gpt4 book ai didi

c++ - 切换案例的替代方案?

转载 作者:行者123 更新时间:2023-11-30 02:14:07 25 4
gpt4 key购买 nike

我正在尝试实现对整数 i 的不同值采取不同操作的代码。整数的范围是从 1 到 50。这个问题的明显解决方案是使用 switch 案例,这样对于不同的 i 值,不同的功能是叫。但我想知道,除了 50 个 switch case 语句之外,还有其他更好的方法吗?

下面的代码显示了我正在尝试做的事情:

switch (i) {
case 1:
function1();

case 2:
function2();

case 3:
function3()

...

case 50:
function50()
}

而且函数 1 到 50 不相关,所以我无法将 int i 作为参数传递给函数。

最佳答案

如果您的所有函数都具有相同的签名,那么函数指针数组就可以工作,例如:

typedef void (*func)();
func arr[50] = {&function1, &function2, &function3, ... &function50};
...
arr[i-1]();

Live demo

关于c++ - 切换案例的替代方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58400783/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com