ringa_lee
这里对于第一张图,是没有问题的,并不需要拷贝。因为你捕捉的参数是Except&类型,而不是Except类型。
Except&
Except
对于第二个,按理说应该也不存在拷贝的情况,因为throw Except()抛出的是一个临时的Except对象,而被捕捉的是它的引用,是不需要再构造一个对象的。
throw Except()
第二个的输出结果,应该是将catch(Except& e)改为了catch(Except e)的。
catch(Except& e)
catch(Except e)
throw Except()应该不止是在VS中能编译通过的,至少在g++4.8下没有问题。
这里对于第一张图,是没有问题的,并不需要拷贝。因为你捕捉的参数是
Except&
类型,而不是Except
类型。对于第二个,按理说应该也不存在拷贝的情况,因为
throw Except()
抛出的是一个临时的Except
对象,而被捕捉的是它的引用,是不需要再构造一个对象的。第二个的输出结果,应该是将
catch(Except& e)
改为了catch(Except e)
的。throw Except()
应该不止是在VS中能编译通过的,至少在g++4.8下没有问题。