C'nin +
C # ve Java gibi belirli bir dize birleştirme operatörü ( ) yoktur . C # veya Java'da, derleyici gördüğünde
"a" + "b"
kodu aynen sanki derleyebilir
"ab"
kaynak kodunda yazılmıştır. Bununla birlikte, C'de, derleyicinin tanıyabileceği ve önceden hesaplayabileceği dizelerin birleştirilmesini tanımlamak için benzer kolay bir sözdizimi yoktur. Yani C tasarımcıları onlarca yıl önce bunu seçti
"a" "b"
tam olarak aynı anlama gelir
"ab"
Doğal olarak C ++ aynı sözleşmeyi miras aldı. Standart C ++ kütüphanesi aşırı yükler iken +
üzerinde std::string
ortalama dize birbirine bağlanmasına yol, derleyici birleşmeye denemez "a" + "b"
bu bir hata aslında, çünkü (iki ekleyemezsiniz const char *
işaretçileri birlikte).
#define FOO "foo-value"
daha sonra"FOO's value is " FOO "."