我有一个包含数千个或更多独特案例的 switch case 语句。用户很难通过案例编号记住每个案例。所以,我为每种情况使用一个唯一的字符串并对其进行散列以获得给定字符串的选择“sel”:
% Example c code
sel =hashfunction(string)
switch (sel) {
case 0:
func0();
case 1:
func1();
......
......
case 10000:
func10000();
}
但是,此代码变得非常大,因为它必须位于单个文件中,并且还违反了 100 行的编码准则。由于案例到函数调用的唯一映射,我认为我可以在 for 循环中使用指向函数的指针来调用它们。这将比开关盒非常紧凑。非常感谢任何帮助实现这一目标。