Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ पहचानकर्ता में अंडरस्कोर के उपयोग के नियम


C++ में अंडरस्कोर (_) नामकरण नियम

C++ मानक कुछ अंडरस्कोर पैटर्न को कार्यान्वयन (कंपाइलर/लाइब्रेरी) के लिए आरक्षित करता है। इनका उपयोग अनिर्दिष्ट व्यवहार या नाम टकराव का कारण बन सकता है।

सभी स्कोप में आरक्षित (कभी उपयोग न करें)

  • दो अग्रणी अंडरस्कोर: `__foo`, `__Bar`, `__123`
  • एक अग्रणी अंडरस्कोर + बड़ा अक्षर: `_Foo`, `_X`, `_MAX_SIZE`

ये कंपाइलर आंतरिक नाम, अंतर्निहित फ़ंक्शन, कीवर्ड्स आदि के लिए आरक्षित हैं।

ग्लोबल/नेमस्पेस स्कोप में आरक्षित (टालें)

  • एक अग्रणी अंडरस्कोर + छोटा अक्षर: `_foo`, `_bar`, `_count`

ये ग्लोबल स्कोप में लाइब्रेरी आंतरिक नामों के साथ टकरा सकते हैं। लोकल स्कोप (क्लास मेंबर्स, फ़ंक्शन पैरामीटर्स, लोकल वेरिएबल्स) में आमतौर पर सुरक्षित हैं, लेकिन कई स्टाइल गाइड इन्हें हर जगह टालने की सलाह देते हैं।

अन्य आरक्षित पैटर्न

  • विशिष्ट प्रीफिक्स: `LC_`, `SIG_`, `SIG`, `SIG_` (POSIX/सिस्टम हेडर्स)।
  • सफ़िक्स: `_t` (POSIX टाइप परिभाषाएँ, जैसे `size_t`, `pthread_t`।)
  • कीवर्ड्स के रूप में ऑपरेटर्स: `and`, `or`, `not` आदि (हेडर `` के साथ)।

सुरक्षित और अनुशंसित प्रथाएँ

  • स्नेक_केस: `my_variable`, `buffer_size`, `user_name` (सबसे आम)।
  • ट्रेलिंग अंडरस्कोर: `member_`, `value_` (कीवर्ड्स/पैरामीटर्स से टकराव से बचने के लिए, Google/LLVM स्टाइल)।
  • कैमलकेस: `myVariable`, `bufferSize`।
  • कॉन्स्टेंट्स/मैक्रोज़ के लिए UPPER_SNAKE_CASE: `MAX_SIZE`, `DEFAULT_TIMEOUT`।

सारांश तालिका

पैटर्नस्थितिउदाहरण
__nameहर जगह आरक्षित__func, __LINE__
_Nameहर जगह आरक्षित_Alignas, _Complex
_name (ग्लोबल)ग्लोबल में आरक्षित_errno (लाइब्रेरी)
name_✅ सुरक्षितmember_, ptr_
snake_case✅ सुरक्षित/अनुशंसितuser_name
  1. - नेटवर्क सिक्योरिटी के बुनियादी नियम क्या हैं

    नेटवर्क सिक्योरिटी की मूल बातें क्या हैं? अपने नेटवर्क और सर्वर तक पहुंच आसानी से न दें। इस बात पर ध्यान दें कि किसके पास आपके नेटवर्क तक पहुंच है। पासवर्ड के मामले में बेस्ट प्रैक्टिस का पालन करना सुनिश्चित करें। डिवाइसेज और सर्वर को सुरक्षित वातावरण में रखें। सुनिश्चित करें कि आपकी सिक्योरिटी अप

  1. JavaScript eval() फंक्शन समझाएं और इसके उपयोग के नियम क्या हैं? JavaScript eval() फंक्शन समझाएं और इसके उपयोग के नियम क्या हैं?

    eval() फंक्शन का उपयोग दी गई स्ट्रिंग का मूल्यांकन (evaluate) करके उसे JavaScript कोड के रूप में एक्जीक्यूट करने के लिए किया जाता है। eval() का उपयोग अत्यधिक खतरनाक है क्योंकि कोई दुर्भावनापूर्ण कोड इनपुट स्ट्रिंग के रूप में हमारे किसी इनपुट में पास कर सकता है।JavaScript में eval() फंक्शन दर्शाने का

  1. - C++ में #define प्रीप्रोसेसर क्या है?

    C++ में #define प्रीप्रोसेसर डायरेक्टिव #define एक मैक्रो बनाता है, जो एक पहचानकर्ता या पैरामीटराइज़्ड पहचानकर्ता का टोकन स्ट्रिंग के साथ जुड़ाव है। मैक्रो परिभाषित होने के बाद, कंपाइलर स्रोत फ़ाइल में पहचानकर्ता की प्रत्येक घटना के लिए टोकन स्ट्रिंग को प्रतिस्थापित कर सकता है। #define identifier t