İçeriğe geç
Başlangıç · Sonraki hedefe 100 XP
Son hareketler
Henüz bir öğrenme hareketi yok. İlk derse başlayın.

Programlama Temelleri

C++ string: Sahiplik, uzunluk ve erişim

std::string metin baytlarını sahiplenir ve ömrünü yönetir. Bir metnin bayt sayısını bilmek, Unicode kullanıcı karakterlerinin sayısını bildiğiniz anlamına gelmez.

Bu derste neler var?

SİBERSALDİRİ.COM · KONU ODAKLI DERS

Bu derste kazanacaklarınız

  • Metin nesnesi ile Uzunluk arasındaki ilişkiyi açıklamak.
  • “c_str işaretçisi sonsuza kadar geçerli midir?” sorusuna gerekçeli yanıt vermek.
  • Örneği değiştirip beklenen ve gözlenen davranışı karşılaştırmak.

Çalışma mantığı ve güven sınırı

size depolanan eleman sayısını döndürür. at denetimli erişim sunar; geçersiz konum hata üretir. c_str ile alınan işaretçinin geçerliliği string nesnesinin ömrü ve değişiklikleriyle ilişkilidir. Metni C API'sine verirken sonlandırma, uzunluk ve sahiplik sözleşmesini birlikte okuyun.

C++ string: Sahiplik, uzunluk ve erişim akışı: Metin nesnesi → Uzunluk → Denetimli erişim
Metin nesnesi → Uzunluk → Denetimli erişim. Şema ilişkiyi gösterir; bütün uygulamanın yerine geçmez.

Açıklamalı örnek

Aşağıdaki parça kavramı görünür kılar. Komut veya kod içeren örnekleri üretim sisteminde değil, size ait ayrı deneme ortamında değerlendirin. Mimari şema ve politika örnekleri çalıştırılabilir program değildir.

#include <iostream>
#include <string>
int main() {
 std::string text{"network"};
 std::cout << text.size() << ' ' << text.at(0);
}

Beklenen sonuç ve yorumu

7 n çıktısı alınır.

Karşılaştırmalı durumlar

DurumBeklenen yaklaşımNeden?
Boş stringÖnce emptyİlk eleman yoktur
at geçersiz indeksİstisna sözleşmesiSınır denetimi vardır
c_str sonrası değişiklikGeçerliliği kontrol etİç depolama değişebilir

Uygulama görevi

Metni boş yapın. İlk elemana erişmeden önce neden empty kontrolü gerektiğini gösterin.

  1. İşlemden önce beklenen sonucu ve kabul koşulunu yazın.
  2. Tek bir değişkeni değiştirin; gözlemi ve kullandığınız ortamı kaydedin.
  3. Sonucu yukarıdaki karşılaştırma tablosuyla değerlendirin. Uymayan durumda hangi varsayımın yanlış olabileceğini açıklayın.

Sık yapılan hata ve düzeltme yönü

UTF-8 Türkçe metinde size sonucunu kullanıcı karakter sayısı sanmayın.

Kendinizi sınayın

c_str işaretçisi sonsuza kadar geçerli midir?

Açıklamalı yanıt: Hayır. Kaynak string yok olduğunda veya geçersizleştiren değişiklik yapıldığında kullanılamaz.

İlgili derslerle ilerleyin

Teknik başvuru

Bu dersin anlatımı ve örnekleri akademi için yeniden hazırlanmıştır. Aşağıdaki bağlantı, kullanılan teknoloji veya güvenlik yaklaşımının ayrıntılarını doğrulamak için teknik başvurudur.

Bir adım daha ilerlediniz.

Dersi bitirdiyseniz tamamlandı olarak işaretleyin. İlerlemeniz bu cihazda saklanır.

Akademi menüsü

Akademide ara

En az 2 karakter yazın.