【发布时间】:2011-02-19 03:37:33
【问题描述】:
只是想知道,为什么在枚举上抛出一个类会更好
肯定抛出类的开销更大?
例如
enum MyException
{
except_a,
except_b,
except_c
}
void function f(){
throw except_a;
}
int main(int arc, char* argv[]){
try{
} catch (MyException e){
switch(e){
except_a: break;
except_b: break;
except_c: break;
}
}
return 0;
}
除了开销。我还需要为每个可能覆盖 std::exception 或其他东西的类声明一个类。更多代码,更大的二进制文件……有什么好处?
【问题讨论】:
-
你不上课;你抛出一个对象,它可能是一个类类型的对象。
-
对不起,我的意思是说枚举不是 int。
-
嘿,你大大改变了问题
-
我的意思一直是枚举,只是添加了一个示例。问题是,如果未命名枚举,则将其视为 int。