我正在使用C++11编写一个小程序,并在第一次尝试中真正使用异常。我有一个关于如何高效地捕获异常的问题,在搜索了一些资料之后,仍然没有找到答案。
问题是: 通过(const?)左值引用捕获异常和通过(const?)右值引用捕获异常哪种更有效(或推荐)?
在代码中,这样写:
1)
问题是: 通过(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) {}