2009-10-19 23 views
5

क्या '@' सी ++ में प्रयोग किया जाता है? इस yacc file में यह टोकन के रूप में सूचीबद्ध है। और मुझे यकीन है कि मैं एक चर नाम के हिस्से के रूप में @ उपयोग नहीं कर सकता। क्या @ सी ++ में प्रयोग किया जाता है? और मैं इसका उपयोग कैसे कर सकता हूं?क्या सी @+ में '@' प्रयोग किया जाता है?

+0

यह टोकन के रूप में सूचीबद्ध है लेकिन वास्तव में उस व्याकरण में कहीं भी इसका उपयोग नहीं किया जाता है। –

उत्तर

8

नहीं, इसका उपयोग सी ++ में नहीं किया जाता है। यह मानक में कहीं भी दिखाई नहीं देता है। विशेष रूप से, यह कानूनी C++ वर्णों [lex.charset] के सेट में प्रकट नहीं होता है।

+1

कुछ कंपाइलर्स नाम के बाद पहचानकर्ता नामों के लिए '@' का उपयोग करते हैं। उदाहरण के लिए http://en.wikipedia.org/wiki/Name_mangling#How_different_compilers_mangle_the_same_functions देखें। – Joey

+2

@ जोहान्स: सच है लेकिन यह सी ++ वाक्यविन्यास के लिए सख्ती से अप्रासंगिक है और इसलिए एक लेक्सर स्पेक के लिए। 'Yacc' फ़ाइल में,' @ 'प्रतीक की उपस्थिति एक गलती है। इसके अलावा, प्रतीक 'yacc' फ़ाइल में कहीं और नहीं उपयोग किया जाता है। –

+1

एक स्रोत चरित्र को _basic_ स्रोत वर्ण सेट में होना आवश्यक नहीं है (इसलिए '@' को जरूरी नहीं है), लेकिन इसे संभाला जाना चाहिए जैसे कि यह \ uXXXX सार्वभौमिक वर्ण से बचने के रूप में दिखाई देता है। इसलिए गैर-मूल स्रोत वर्ण किसी भी पहचानकर्ता या भाषा टोकन में प्रकट नहीं हो सकते हैं, लेकिन वे चरित्र और स्ट्रिंग अक्षर में दिखाई दे सकते हैं। –

1

उपर्युक्त उत्तरों के अनुसार, '@' मानक मानक सी ++ नहीं है; हालांकि, यह उद्देश्य-सी में दिखाई देता है, और इसलिए उद्देश्य-सी ++ में, और इसलिए, वास्तविक दुनिया कोड, जैसे कि वेबकिट में।

संबंधित मुद्दे