我正在用C++ 11编写一个小程序,并且首次真正使用异常。关于捕获异常良好做法
我有一个关于如何有效地捕捉异常的问题,并经过一些谷歌搜索后,我仍然没有答案。
这里是一个问题: 通过(const?)左值引用或(const?)右值引用捕获异常之间更高效(或推荐)是什么?
在代码本给予:
1)
try { throw std::exception{"what"}; }
catch (std::exception& ex) {}
2)
try { throw std::exception{"what"}; }
catch (const std::exception& ex) {}
3)
try { throw std::exception{"what"}; }
catch (std::exception&& ex) {}
4)
try { throw std::exception{"what"}; }
catch (const std::exception&& ex) {}
通过右值引用捕获甚至是非法http://stackoverflow.com/q/21977340/5447906 –