मैं सी ++ 11 में एक छोटा सा प्रोग्राम लिख रहा हूं और वास्तव में पहली बार अपवादों का उपयोग करता हूं।अपवाद अच्छी प्रथाओं को पकड़ने के बारे में
मुझे अपवादों को कुशलतापूर्वक पकड़ने के तरीके के बारे में एक प्रश्न है, और कुछ googling के बाद भी मुझे जवाब नहीं है।
यहां प्रश्न है: (const?) Lvalue संदर्भ, या (const?) Rvalue संदर्भ द्वारा अपवाद को पकड़ने के बीच अधिक कुशल (या अनुशंसित) क्या है?
कोड में इस दे:
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 –