referans fonksiyonu nedir Test 1

Soru 02 / 10

Referans fonksiyonlar hangi programlama dillerinde yaygın olarak kullanılır?

A) Sadece C++'da
B) Sadece Java'da
C) C++, C# ve JavaScript gibi dillerde
D) Sadece Python'da

Programlama dillerinde "referans fonksiyonlar" veya daha doğru ifadeyle "referans ile parametre geçirme" (pass-by-reference) kavramı, bir fonksiyonun kendisine gönderilen değişkenin doğrudan kendisi üzerinde işlem yapabilmesini, yani orijinal değeri değiştirebilmesini ifade eder. Bu, değişkenin bir kopyası yerine, bellekteki orijinal konumuna bir referans (işaretçi veya takma ad) gönderilmesiyle sağlanır.

  • A) Sadece C++'da: C++ dili, referansları (örneğin, int& x) ve işaretçileri kullanarak açıkça referans ile parametre geçirmeyi destekler. Ancak, bu sadece C++'a özgü bir özellik değildir.
  • B) Sadece Java'da: Java, ilkel (primitive) tipler için değer ile geçiş (pass-by-value), nesneler için ise referansın değeri ile geçiş (pass-by-value of the reference) kullanır. Bu, bir fonksiyon içinde nesnenin içeriğini değiştirebileceğiniz anlamına gelir, ancak orijinal referans değişkenini yeniden atayamazsınız. Dolayısıyla, C++ veya C# anlamında doğrudan "referans ile geçiş" mekanizması yoktur.
  • C) C++, C# ve JavaScript gibi dillerde:
    • C++: Açıkça referanslar (& operatörü ile) ve işaretçiler aracılığıyla referans ile parametre geçişini destekler.
    • C#: ref ve out anahtar kelimelerini kullanarak bir fonksiyonun parametreleri üzerinde referans ile işlem yapmasını sağlar. Bu, fonksiyonun orijinal değişkenin değerini değiştirmesine olanak tanır.
    • JavaScript: Nesneler (objeler, diziler vb.) bir fonksiyona parametre olarak geçirildiğinde, aslında bu nesnelerin referansları geçirilir. Fonksiyon içinde bu nesnelerde yapılan değişiklikler, orijinal nesneyi etkiler. Bu, teknik olarak "referansın değeri ile geçiş" olsa da, pratik olarak referans ile geçişin sağladığı etkiyi (orijinal veriyi değiştirme) sunar ve bu dillerde yaygın bir kullanım şeklidir.
  • D) Sadece Python'da: Python, "nesne referansı ile geçiş" (pass-by-object-reference) veya "çağrı-ile-nesne-paylaşımı" (call-by-object-sharing) modelini kullanır. Değişken (mutable) nesneler (listeler, sözlükler gibi) bir fonksiyona geçirildiğinde, fonksiyon bu nesnelerin içeriğini değiştirebilir ve bu değişiklikler orijinal nesneyi etkiler. Ancak, C++ veya C# gibi açık bir "referans" anahtar kelimesi veya operatörü yoktur ve sadece Python'a özgü değildir.

Yukarıdaki açıklamalara göre, C++, C# ve JavaScript gibi dillerde referanslarla çalışma veya referans benzeri davranışlarla orijinal veriyi değiştirme yaygın olarak kullanılan bir özelliktir.

Cevap C 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
Geri Dön