想象两段相似的代码:
try {
[...]
} catch (myErr &err) {
err.append("More info added to error...");
throw err;
}
和
try {
[...]
} catch (myErr &err) {
err.append("More info added to error...");
throw;
}
这些实际上是相同的还是以某种微妙的方式不同?例如,第一个是否导致运行复制构造函数,而第二个可能重用相同的对象来重新抛出它?