C tidak memiliki operator penggabung string khusus ( +
) seperti C # dan Java. Di C # atau Java, ketika kompiler melihat
"a" + "b"
itu dapat mengkompilasi kode persis seolah-olah
"ab"
ditulis dalam kode sumber. Namun, dalam C, tidak ada sintaksis yang sama mudahnya untuk menggambarkan rangkaian string yang dapat dikenali dan dikompilasi oleh kompiler. Jadi desainer C dekade lalu memilih itu
"a" "b"
akan berarti hal yang persis sama dengan
"ab"
Secara alami C ++ mewarisi konvensi yang sama. Sementara standar C ++ overload perpustakaan +
pada std::string
ke berarti penggabungan string, compiler tidak berusaha untuk menyatu "a" + "b"
karena itu sebenarnya kesalahan (Anda tidak dapat menambahkan dua const char *
pointer bersama-sama).
#define FOO "foo-value"
diikuti kemudian oleh"FOO's value is " FOO "."