2011-04-25 11 views
12

हाय बढ़ावा एमपीएल दस्तावेज में मैं एमपीएल :: स्ट्रिंग और निम्न उदाहरण की खोज की है:बढ़ावा एमपीएल स्ट्रिंग

typedef mpl::string<'hell','o wo','rld'> hello; 

मैं क्योंकि मैंने सोचा सी या C++ हम नहीं कर सकते हैं कि एक छोटा सा आश्चर्य कर रहा हूँ चरित्र ' के बीच एक से अधिक वर्ण?

क्या यह सामान्य और मान्य है?

+1

बस अब FYI। यह (http://cpp-next.com/archive/2012/10/using-strings-in-c-template-metaprograms/) आलेख में एक बेहतर समाधान है यदि आपके पास C++ 11 उपलब्ध है। – KitsuneYMG

+0

वह लिंक अब मृत है :( –

उत्तर

10

हां, यह मान्य सी ++ है। किसी भी मौजूदा सी ++ मानक से, खंड [lex.conn]:

शाब्दिक एक साधारण चरित्र है कि एक से अधिक सी चार शामिल एक multicharacter शाब्दिक है। एक मल्टीचार्टर शाब्दिक प्रकार int और कार्यान्वयन-परिभाषित मान है।

+3

ओह ठीक है इसलिए हमारे पास 5 वर्ण नहीं हो सकते हैं ' – Guillaume07