บทนำ
ในส่วนนี้เราจะดูคุณสมบัติของ string และ string literals ถ้าต้องการต่อสตริงสองตัวใน C++ ต้องจำบางอย่าง
- ถ้า x + y เป็นนิพจน์ต่อสตริง โดย x และ y เป็น string ทั้งคู่ ผลลัพธ์จะเป็น copy ของตัวอักษรใน x ตามด้วยตัวอักษรใน y
- x หรือ y สามารถเป็น string literal หรือ character ได้ แต่ไม่ใช่ทั้งคู่ ถ้าทั้งคู่เป็น string literal จะไม่สามารถต่อกันได้
ตัวอย่างที่ไม่ทำงาน
#include <iostream>
using namespace std;
int main() {
cout << "Hello " + "World";
return 0;
}
ผลลัพธ์
โค้ดข้างต้นจะคอมไพล์ไม่ผ่าน เพราะทั้งสอง operand เป็น literals
Left associativity ของ operator '+' ส่ง error ถ้าตัวใดตัวหนึ่งเป็น string จะทำงานได้
ตัวอย่างที่ทำงาน
#include <iostream>
using namespace std;
int main() {
string my_str = "Hello ";
cout << my_str + "World";
return 0;
}
ผลลัพธ์
Hello World