เพิ่มสตริง mpl

สวัสดีในเอกสาร boost mpl ฉันได้ค้นพบ mpl::string และตัวอย่างต่อไปนี้:

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

ฉันแปลกใจเล็กน้อยเพราะฉันคิดว่าใน C หรือ C++ เราไม่สามารถมีอักขระมากกว่าหนึ่งตัวระหว่างอักขระ ' ?

เป็นเรื่องปกติและถูกต้องหรือไม่?


person Guillaume07    schedule 25.04.2011    source แหล่งที่มา
comment
เพียงแค่แจ้งให้ทราบ นี้ (cpp-next.com/archive /2012/10/) บทความมีวิธีแก้ปัญหาที่ดีกว่าหากคุณมี c++11   -  person KitsuneYMG    schedule 30.01.2013
comment
ลิงค์นั้นเสียแล้ว :(   -  person Sam Kellett    schedule 07.01.2015


คำตอบ (1)


ใช่ มันเป็นภาษา C++ ที่ถูกต้อง จากมาตรฐาน C++ ที่มีอยู่ ส่วน [lex.conn]:

ตัวอักษรลิเทอรัลธรรมดาที่มี c-char มากกว่าหนึ่งตัวคือ ลิเทอรัลแบบหลายอักขระ ตัวอักษรหลายตัวมีประเภท int และค่าที่นิยามการใช้งาน

person Yakov Galka    schedule 25.04.2011
comment
โอ้ นั่นคือสาเหตุที่เราไม่สามารถมีอักขระ 5 ตัวระหว่าง ' - person Guillaume07; 25.04.2011