2012-06-28 22 views
14

से 2.13.2/3'?' से बचने की अनुमति देने में तर्क क्या है?

दोहरे उद्धरण " और प्रश्न चिह्न ?, खुद के रूप में प्रतिनिधित्व किया जा सकता है या भागने दृश्यों से \" और \? [...]।

सीधे शब्दों में कहें, तो निम्न:

char x = '\?'; //or '\"' 
char y = '?'; //or '"' 

एक ही चरित्र को दर्शाते हैं। इन दोनों का इलाज क्यों करें (विशेष रूप से ?) अन्य पात्रों की तुलना में अलग-अलग?

उत्तर

24

\" एकल उद्धृत चरित्र शाब्दिक और डबल-कोटेड स्ट्रिंग शाब्दिक (वे एक परिणाम के रूप में \', एक ही भागने दृश्यों का उपयोग करने के लिए परिभाषित कर रहे हैं और \" दोनों में इस्तेमाल किया जा सकता है) के बीच सामंजस्य देता है। मैं थोड़ा अनुमान लगा रहा हूं, लेकिन मुझे लगता है कि समिति ने सिर्फ यह अनुमान लगाया कि यह प्रत्येक में अलग-अलग बचने के अनुक्रमों को परिभाषित करने के लिए बहुत परेशान था, बिना किसी लाभ के और तर्कसंगत रूप से थोड़ी सी हानि।

\? ट्रिग्राफ से बचने के लिए है: ??= एक ट्रिगर है, ?\?= नहीं है।

+2

\? वास्तव में ट्राग्राफ के साथ कुछ करना है, एक स्पष्टीकरण के लिए http://msdn.microsoft.com/en-us/library/bt0y4awe.aspx देखें। –