Referans fonksiyonu Test 1

Soru 07 / 10

Referans fonksiyonlarda 'const' anahtar kelimesi ne işe yarar?

A) Fonksiyonun sabit olduğunu belirtir
B) Parametrenin değiştirilemeyeceğini garanti eder
C) Fonksiyonun hızını artırır
D) Parametrenin kopyalanmasını sağlar

Referans fonksiyonlarda 'const' anahtar kelimesinin ne işe yaradığını adım adım inceleyelim:

  • Referans Parametreler Nedir?

    C++ gibi dillerde, bir fonksiyona parametreleri farklı yollarla geçirebiliriz. "Değerle geçirme" (pass-by-value) yönteminde, parametrenin bir kopyası oluşturulur ve fonksiyona bu kopya gönderilir. Fonksiyon bu kopyayı değiştirse bile, orijinal değişken etkilenmez. Ancak "referansla geçirme" (pass-by-reference) yönteminde, fonksiyona değişkenin kendisi değil, onun bellekteki adresi (bir referans) gönderilir. Bu sayede fonksiyon, orijinal değişken üzerinde doğrudan işlem yapabilir ve onu değiştirebilir. Bu yöntem, özellikle büyük boyutlu nesneleri kopyalama maliyetinden kaçınmak için etkilidir.

  • 'const' Anahtar Kelimesinin Rolü:

    Referansla geçirme yöntemi, fonksiyonun orijinal değişkeni değiştirmesine izin verir. Ancak bazen, bir fonksiyonun bir parametreyi referansla almasını isteriz (performans veya başka nedenlerle), fakat aynı zamanda bu fonksiyonun orijinal değişkeni değiştirmesini istemeyiz. İşte tam bu noktada 'const' anahtar kelimesi devreye girer.

  • 'const' Referans Parametresi Ne Yapar?

    Bir referans parametresinin önüne 'const' anahtar kelimesini eklediğimizde (örneğin, void myFunction(const int& x)), bu, fonksiyonun içinde 'x' referansı aracılığıyla orijinal değişkene erişebileceği, ancak bu değişkenin değerini değiştiremeyeceği anlamına gelir. Yani, 'const' referans, parametrenin fonksiyon içinde "salt okunur" (read-only) olmasını garanti eder.

  • Neden 'const' Referans Kullanılır?

    Bu kullanımın birden fazla önemli faydası vardır:

    Güvenlik: Fonksiyonun orijinal veriyi yanlışlıkla değiştirmesini engeller. Bu, özellikle büyük ve karmaşık projelerde hataları önlemek için çok önemlidir.

    Verimlilik: Büyük nesnelerin kopyalanmasını engellerken (referansla geçirme), aynı zamanda veri bütünlüğünü korur (const).

    Esneklik: 'const' referans alan bir fonksiyon, hem 'const' hem de 'non-const' (değiştirilebilir) argümanları kabul edebilir.

    Niyet Beyanı: Fonksiyonun, aldığı parametreyi değiştirmeyeceğini açıkça belirtir, bu da kodun okunabilirliğini ve anlaşılırlığını artırır.

  • Seçeneklerin Değerlendirilmesi:

    Şimdi seçenekleri tek tek inceleyelim:

    A) Fonksiyonun sabit olduğunu belirtir: Bu ifade, genellikle bir sınıfın üye fonksiyonunun (member function) 'const' olması durumunda geçerlidir. Parametre için 'const' farklı bir anlama gelir.

    B) Parametrenin değiştirilemeyeceğini garanti eder: Bu, 'const' referans parametresinin temel ve doğrudan işlevidir. Fonksiyonun parametre aracılığıyla orijinal değişkeni değiştirmesini engeller.

    C) Fonksiyonun hızını artırır: 'const' anahtar kelimesi doğrudan hızı artırmaz. Referansla geçirme (pass-by-reference) kopyalama maliyetini ortadan kaldırarak hızı artırabilir, ancak 'const' sadece bu referansın değiştirilemezliğini sağlar.

    D) Parametrenin kopyalanmasını sağlar: Tam tersine, referansla geçirme kopyalamayı engeller. 'const' bu durumu değiştirmez.

Cevap B seçeneğidir.

↩️ Soruya Dön
✨ Konuları Gir, Yapay Zeka Saniyeler İçinde Sınavını Üretsin!
1 2 3 4 5 6 7 8 9 10
Ana Konuya Dön:
Geri Dön