gpt4 book ai didi

c - 避免在 C 中使用大型 switch/if block 的编程技术/风格?

转载 作者:太空宇宙 更新时间:2023-11-04 01:38:56 27 4
gpt4 key购买 nike

只是一个简短的问题,看看在评估条件语句/控制流时是否有不同的方式编写类似的代码。

例如:

  • If 语句
  • 切换语句

有没有更简洁的方法来做这些,因为我基本上可以选择 If (value == X) {//do X }Switch(value) { case X: ...

当使用超过 100 个值执行此操作时,是否可以采用任何数据驱动的方法或任何不同的评估方法来整理代码?

最佳答案

如果您的值是整数并且不是稀疏的,有时使用查找表会很方便(数据和代码 - 在最后一种情况下,您将使用函数指针并且通常称为跳转表,它是顺便提一句,编译器经常用 switch block 做什么);如果备选方案是一个一个地检查可能的值,则性能从 O(N) 跳到 O(1)。

此外,对于非整数数据,可以使用哈希表。它们的方便程度视具体情况而定。

关于c - 避免在 C 中使用大型 switch/if block 的编程技术/风格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9349615/

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