C++ में 11, यह अब मान्य सिंटैक्स है:सी ++ टेम्पलेट्स कोण ब्रैकेट्स Pitfall - सी ++ 11 फिक्स क्या है?
vector<vector<float>> MyMatrix;
जबकि पहले यह इस प्रकार लिखा जाता था (अंतरिक्ष नोटिस):
vector<vector<float> > MyMatrix;
मेरा प्रश्न क्या है ठीक करें कि मानक संस्करण को पहले संस्करण की अनुमति देने के लिए उपयोग किया जाता है?
क्या यह >>
के बजाय टोकन बनाने जैसा ही हो सकता है? यदि ऐसा नहीं है, तो इस दृष्टिकोण के साथ क्या काम नहीं करता है?
मुझे लगता है कि myTemplate< x>>3 >
जैसे फॉर्म एक गैर-समस्या हैं, क्योंकि आप myTemplate<(x>>3)>
करके उन्हें असंबद्ध कर सकते हैं।
'>' पहले से * एक टोकन है लेकिन पार्सर लालची था और लालची था। इसलिए फिक्स अलग दिखना चाहिए। - एक संभावना निश्चित रूप से '>>' * नहीं * टोकन बनना होगा। –
मुझे लगता है कि आप §14.2.3 के लिए देख रहे हैं: * "टेम्पलेट-तर्क-सूची को पार्स करते समय, पहले गैर-नेस्टेड> ऑपरेटर से अधिक की बजाय अंतिम डिलीमीटर के रूप में लिया जाता है। इसी प्रकार, पहले गैर- नेस्टेड >> को लगातार दो लेकिन विशिष्ट> टोकन के रूप में माना जाता है, जिसमें से पहला टेम्पलेट-तर्क-सूची के अंत के रूप में लिया जाता है और टेम्पलेट-आईडी पूरा करता है। "* – Zeta
" मानक क्या है पहले संस्करण की अनुमति दें "- मेरा मानना है कि इसका _ _ मानक_ के साथ कुछ लेना देना नहीं है। मेरा मतलब है - कार्यान्वयन। मेरा मानना है कि यह एक संकलक का निर्णय है कि इस आवश्यकता को कैसे कार्यान्वित किया जाए, _ मानक_ द्वारा मजबूर किया गया। –