डबल अंडरस्कोर कार्यान्वयन के लिए आरक्षित हैं
शीर्ष मतदान ने C ++ में प्रोग्रामिंग का हवाला दिया : नियम और सिफारिशें :
"पहचानकर्ताओं में दो अंडरस्कोर (` __ ') का उपयोग एएनएसआई-सी मानक के अनुसार संकलक के आंतरिक उपयोग के लिए आरक्षित है। "
हालाँकि, कुछ C ++ और C मानकों को पढ़ने के बाद, मैं केवल कंपाइलर के आंतरिक उपयोग तक सीमित किए जा रहे अंडरस्कोर के किसी भी उल्लेख का पता लगाने में असमर्थ था । मानक अधिक सामान्य हैं, कार्यान्वयन के लिए डबल अंडरस्कोर को जलाकर ।
सी ++
C ++ (वर्तमान कार्य मसौदे, 2019-5-26 तक पहुँचा) में लिखा है lex.name
:
- प्रत्येक पहचानकर्ता जिसमें एक डबल अंडरस्कोर __ होता है या एक अंडरस्कोर के साथ शुरू होता है जिसके बाद एक अपरकेस अक्षर किसी भी उपयोग के लिए कार्यान्वयन के लिए आरक्षित होता है।
- प्रत्येक पहचानकर्ता जो एक अंडरस्कोर से शुरू होता है, वैश्विक नामस्थान में एक नाम के रूप में उपयोग के लिए कार्यान्वयन के लिए आरक्षित है।
सी
यद्यपि यह प्रश्न C ++ के लिए विशिष्ट है, मैंने C के 99 और 17 मानकों से प्रासंगिक अनुभागों का हवाला दिया है:
C99 खंड 7.1.3
- सभी पहचानकर्ता जो एक अंडरस्कोर से शुरू होते हैं और या तो एक अपरकेस अक्षर या किसी अन्य अंडरस्कोर को हमेशा किसी भी उपयोग के लिए आरक्षित किया जाता है।
- सभी पहचानकर्ता जो एक अंडरस्कोर से शुरू होते हैं, हमेशा साधारण और टैग नाम रिक्त स्थान दोनों में फ़ाइल स्कोप वाले पहचानकर्ताओं के रूप में उपयोग के लिए आरक्षित होते हैं।
C17 C99 जैसी ही बात कहता है।
कार्यान्वयन क्या है ?
सी / सी ++ के लिए, कार्यान्वयन शिथिल रूप से सेट संसाधनों को संदर्भित करता है जो उपयोगकर्ता स्रोत फ़ाइलों से निष्पादन योग्य बनाने के लिए आवश्यक है। यह भी शामिल है:
- पूर्वप्रक्रमक
- संकलक
- लिंकर
- मानक पुस्तकालय
उदाहरण कार्यान्वयन
विकिपीडिया पर विभिन्न C ++ कार्यान्वयनों का उल्लेख किया गया है । (कोई लंगर लिंक, ctrl + f "कार्यान्वयन")
यहाँ डिजिटल मंगल 'C / C ++ कार्यान्वयन का एक उदाहरण है जो उनकी एक विशेषता के लिए कुछ खोजशब्दों को जमा कर रहा है।