इसमें से अधिकांश समझ में नहीं आता है।
विशिष्ट और क्वालीफायर को C++ मानक में परिभाषित किया गया है। क्वालीफायरविनिर्देशक का एक अभिन्न हिस्सा है। उदाहरण के लिए, घोषणा में टाइप विनिर्देशक टाइप कर सकते हैं सीवी-क्वालीफायर। मुझे इस विषय पर मानक से सबकुछ उद्धृत करने का कारण नहीं दिख रहा है।
सीवी-क्वालीफायर लाइब्रे तक सीमित नहीं हैं। वर्ग प्रकार के रावजूद भी सीवी-योग्य हो सकते हैं। गैर-वर्ग प्रकार के एक रावल्यू को सीवी-अर्हता प्राप्त करना संभव है, लेकिन इसका कोई प्रभाव नहीं पड़ेगा और इसे अनदेखा कर दिया जाएगा। const A* this
:
const
क्वालीफायर कि आप foo
के साथ अपने उदाहरण में दिखाने के उपयोग सिर्फ एक वाक्यात्मक रूप है, जो वास्तव में इसका मतलब है कि स्थिरांक-क्वालीफायर foo
विधि के निहित this
पैरामीटर के लिए लागू किया जाता है। अर्थात। इस मामले में यह वास्तव में एक लाभार्थी अर्हता प्राप्त करता है, लेकिन यह *this
है, foo
नहीं।
शब्द क्वालीफायरयोग्य नाम के संदर्भ में भी प्रकट होता है। some_class::some_member
(या some_namespace::some_name
) जैसे नाम योग्य नाम और some_class::
भाग क्वालीफायर है।
विचार यह है कि अगर कुछ एक लालसा है तो आप इसे संशोधित कर सकते हैं यह पूरी तरह गलत है। संशोधित lvalues और गैर-संशोधित लाइवल हैं। const int i = 5
के रूप में घोषित एक वस्तु एक अंतराल है, फिर भी आप इसे संशोधित नहीं कर सकते हैं। सी ++ में सामान्य कार्य भी अंतराल होते हैं, फिर भी आप किसी फ़ंक्शन को संशोधित नहीं कर सकते हैं।
+1 "मुझे इस विषय पर मानक से सब कुछ उद्धृत करने का कारण नहीं दिखता है।" कभी-कभी मुझे आश्चर्य होता है कि क्या लोग सोचते हैं कि कुछ यादृच्छिक मानक उद्धरण सहित उनके उत्तर को कम गलत बना दिया गया है (मैं इस धागे के बारे में बात नहीं कर रहा हूं, लेकिन एसओ पर बहुत सारे मनोरंजक उत्तर धागे हैं, जहां दुख है)। –
अरे, किसी ने साबित किया कि मैंने कल क्या दावा किया था: http://meta.stackexchange.com/questions/51469/dont-forget-to-mention-sql-injection/51474#51474 –