const referans
- C++ kursu
- Başlangıç
- Ders 74/116
- 5 dk
const referans ile güvenli ve verimli geçiş öğrenirsin.
const referans
Bir parametrenin değiştirilmesini istemiyorsan const referans kullanırsın: void printValue(const int& n). Bu, n'in salt okunur olduğu ve kopyalanmadığı anlamına gelir.
const referans hem güvenli hem verimlidir. Güvenlidir çünkü fonksiyon yanlışlıkla çağıranın değişkenini değiştiremez. Verimlidir çünkü büyük nesneler kopyalanmaz. Bu yüzden std::string veya std::vector gibi türleri fonksiyona geçirirken const T& tercih edilir.
Neden const referans?
Bir fonksiyona büyük bir nesne geçirirken değerle geçiş yapmak pahalıdır; çünkü nesnenin tamamı kopyalanır. Referansla geçiş kopyayı önler ama fonksiyonun nesneyi değiştirebilmesine izin verir.
İkisinin de avantajını almak için const referans kullanırsın: kopya yok, değişiklik de yok. Bu, C++'ta büyük nesneleri fonksiyona geçirmenin standart yoludur. Örneğin void print(const std::string& s).
Uygulama printValue fonksiyonu
void printValue(const int& n) fonksiyonunu tanımla; gövdede n'yi std::cout ile yazdır. main içinde int x = 7; tanımla, printValue(x) çağır.
Başlangıç kodu
#include <iostream>
// printValue fonksiyonunu tanımla
int main() {
// x değişkenini tanımla
// printValue çağrısı ekle
return 0;
}Örnek çözüm
#include <iostream>
void printValue(const int& n) {
std::cout << n << "\n";
}
int main() {
int x = 7;
printValue(x);
return 0;
}Beklenen çıktı
7
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 const referans parametresi
void printValue(____ int& n) { std::cout << n; }
void printValue(const int& n) { std::cout << n; }
Açıklama: const int& n salt okunur referans parametresidir.
2 Hangisi const referans tanımıdır?
- const int p;
- int const p = x;
- const int& r = x; Doğru cevap
- int& const r = x;
Açıklama: const int& r = x; salt okunur referans tanımlar.
3 İfadeyi anlamına eşle
| Kavram | Anlamı |
|---|---|
const int& n |
Const referans |
printValue(x) |
Çağrı |
void |
Değer döndürmez |
n |
Salt okunur |