Video: Learn Python - Full Course for Beginners [Tutorial] 2024
bir C ++ dizinin en yaygın biçimi açıkça hem gösterir metni görüntülemek için kullanılan boş sonlandırılmış karakterden oluşan bir dizedir avantaj ve dezavantajları. Aşağıdakilerin ne kadar kolay göründüğünü düşünün:
cout << "this is a string";
Ama bu boş sonlandırılmış dizeler ikisini birleştirerek bile basit bir işlemi gerçekleştirmek için denemek hızla zaman işler kötüye gitmeye:
char * concatCharString (const char * s1, const char * s2) {int uzunluk = strlen (s1) + strlen (s2) + 1; char * s = yeni karakter [length]; strcpy (s, s1); strcat (s, s2); return s;}
STL, görüntü dizelerini işlemek için dize kapsayıcısı sağlar. dize sınıfı, karakter dizelerinin manipülasyonunu basitleştirmek için (aşırı yüklenmiş operatörler dahil olmak üzere) bir dizi operasyon sağlar. Aynı concat () işlemi, dize nesneleri kullanılarak aşağıdaki şekilde gerçekleştirilebilir:
dize concat (const dize ve s1, const dize ve s2) {dönüş s1 + s2;} Özünde
, bir dize hala bir dizidir. STL tarafından sağlanan işlemler, dizesi nesnelerini daha kolay işlemek için kolaylaştırır, ancak çok daha hızlı değildir. dizesinin ortasına ekleme, dizilerin içeriğini etrafında taşımayı da içerir.
dize sınıf aslında char T seti ile sınıf şablonu basic_class bir instantiation olduğunu. Wstring sınıfı, basic_class için başka bir addır. Bu sınıf, burada geniş dizgiler için gösterilen aynı karakter manipülasyonlarını sağlar.
C ++ '11 tanımı UTF-16 ve UTF-32 karakter dizeleri dize işleme yöntemleri uzanan u16string ve u32string , ekler. İki dize nesnesi arasındaki tüm karşılaştırmalar sözlüksel olarak yapılır - yani iki dizeden hangisi geçerli dilde sözlükte görünürdü.