100% सही नहीं होगा, और के लिए सी ++ 03 है, लेकिन जीसीसी 4.3.4 भी शामिल है, tr1 और ext अनदेखी के माध्यम से grepping लेकिन iostream सहित के आधार पर एक आधे घंटे प्रयास। महत्वपूर्ण बात, इन चेकों की कुछ इस कार्यान्वयन अधिक रक्षात्मक कोडिंग पसंद की की वजह से हो सकता है, और मानक और सार्वभौमिक रूप से उपलब्ध में अनिवार्य नहीं किया जा सकता है ....
bitset
std::overflow_error
- .to_ulong()
जब बहुत सारे अंत
new
अतीत operator[]()
प्रयास - बिट्स अहस्ताक्षरित लंबे
std::out_of_range
में फिट करने के लिए
typeinfo
- अमान्य
dynamic_cast
प्रयास पर std::bad_cast
ios
std::ios_base::failure
whe n त्रुटि के लिए अपवाद मास्क का उपयोग कर
string
out_of_range
रिपोर्टिंग - at
/append
/assign
/insert
/erase
/replace
/copy
/substr
length_error
: reserve
या अस्पष्ट आकार बदलने के दौरान max_size()
को पार करने का प्रयास (उदाहरण के लिए assign
/insert
/+=
इत्यादि।)
locale
std::bad_cast
अगर लोकेल प्रकार का ही एक पहलू शामिल नहीं है Facet
- विभिन्न में
std::runtime_error
अशक्त-सूचक/अपरिभाषित-पहलू स्थितियों
deque
/vector
length_error
: प्रयास reserve()
या परोक्ष-बढ़ने>max_size()
out_of_range
: at()
map
स्रोत
2010-11-25 02:38:37
मैं एक का पता नहीं है। यह देखते हुए कि (लगभग) कोई भी दो लोग सी ++ मानक पुस्तकालय के "एसटीएल" और "गैर-एसटीएल" भागों के बीच की सीमा पर सहमत नहीं हैं, सी ++ प्रोग्रामर का एक साधारण बहुमत शायद कम से कम कुछ सम्मान में ऐसी किसी भी सूची "गलत" पर विचार करेगा। –
@ जेरी: शीर्षक विशेष रूप से इसे एसटीएल कंटेनर तक सीमित करता है, जिसमें एक स्पष्ट स्पष्ट दायरा है (यहां तक कि सामान्य/tr1 एक्सटेंशन पर विचार करना)। –
यह भी समस्या है कि किसी भी उपयोगकर्ता द्वारा घोषित प्रतिलिपि ctor, कॉपी op =, ctor को ले जाएं, और move op = कुछ भी फेंक सकता है ... –