众所周知,由于以跳转表等形式实现,switch-case结构可以提供比if-else结构更好的代码性能。只有当您知道编译器如何实现switch-case时,才能知道这一点。所以我的问题是你怎么知道编译器,例如Microsoft C ++ Compiler或g ++如何实现一个功能?关于常见的编译器,是否有关于这些主题的标准文献?
答案 0 :(得分:2)
获取how will a compiler implement a feature
的信息并不是很有用,因为编译器会运行多个步骤,每个步骤都会修改编译结果。
举个例子: 第一步建立元语言,第二步做第一步优化,下一步可能内联一些代码,下一步...
因此,您无法了解将要创建的代码。所以只有你有机会:尝试一下!
对于您的开关/案例示例,重要的是
忘记预测优化器结果。
对于gcc你有源,看看里面: - )