जैसा कि मेरे पिछले प्रश्नों में उल्लेख किया गया है, मैं के & आर के माध्यम से काम कर रहा हूं, और वर्तमान में प्रीप्रोसेसर में हूं। — कुछ और रोचक चीजों में से एक जो मुझे सी — सीखने के पहले प्रयासों से पहले कभी नहीं पता था ##
प्रीप्रोसेसर ऑपरेटर है। करने के लिए कश्मीर & आर अनुसार:## प्रीप्रोसेसर ऑपरेटर और गॉथस के अनुप्रयोगों पर विचार करने के लिए क्या हैं?
पूर्वप्रक्रमक ऑपरेटर
##
मैक्रो विस्तार के दौरान वास्तविक तर्क को श्रेणीबद्ध करने के लिए एक तरीका प्रदान करता है। प्रतिस्थापन पाठ में एक पैरामीटर निकट है, तो एक##
करने के लिए, पैरामीटर, वास्तविक तर्क के द्वारा बदल दिया है##
और सफेद स्थान के आसपास के निकाल दिए जाते हैं, और परिणाम फिर से स्कैन किया जाता है। उदाहरण के लिए, मैक्रोpaste
अपने दो तर्क concatenates:
#define paste(front, back) front ## back
तो
paste(name, 1)
टोकनname1
पैदा करता है।
कोई असली दुनिया में इसका उपयोग क्यों करेगा? इसके उपयोग के व्यावहारिक उदाहरण क्या हैं, और क्या विचार करने के लिए मिल गया है?
आप संकलन समय पर स्ट्रिंग शाब्दिक जोड़ सकते हैं, आप 'करने के लिए std :: wstring BuildDate = BuildDate अभिव्यक्ति को कम कर सकता चौड़ा (__DATE__) एल "" WIDEN (__ TIME __); 'और पूरी तरह से एक बार में पूरी स्ट्रिंग का निर्माण करें। – user666412