11
|
Johannes Schaub - litb · 技术社区 · 14 年前 |
1
2
如果编译器是MSVC,则可以使用
|
2
3
至少在我看过的编译器中,答案通常是否定的。大多数编译器都会编译这样的switch语句来编写大致相当于:
|
3
2
如果您使用的是“默认”(ha!)
|
4
1
我只看到一个解决方案,以防优化实际受到干扰:臭名昭著的“ifndef-NDEBUG”绕过默认情况。不是最好的把戏,但在这种情况下是清楚的。 顺便问一句:你已经看过你的编译器在默认情况下做了什么吗? |
5
1
如果你有一个永远不应该到达的状态,那么你应该终止这个程序,因为它刚刚到达了一个意外的状态,即使是在发布模式下(你可能只是更老练一些,实际上是保存用户数据,在崩溃之前做所有其他好的事情)。 并且请不要沉迷于微观优化,除非您已经实际测量(使用剖析器)您需要它们。 |
6
1
处理此问题的最佳方法是不禁用断言。这样你也可以留意可能的虫子。有时,应用程序最好在崩溃时显示一条很好的消息,解释到底发生了什么,然后继续工作。 |
7
0
使用编译器扩展:
-
|
rookie · 检查函数模板的所有参数包参数是否属于int 1 年前 |
ivaigult · -W转换和隐式字符串到布尔类型转换 1 年前 |
rainer · 后台插入程序的初始化 1 年前 |
Community wiki · 以理智、安全和高效的方式复制文件 1 年前 |
Shefali Kanaujia · 对C中向量的向量进行排序++ 1 年前 |
Ma Joonyoung · 粗粒度和细粒度链表的时间比较 1 年前 |