12 MAYIS 2017
CUMA
22.47
C++ İşaretçiler ile Sabitler

İşaretçiler bir değişkenin adresine erişip değişkeni değiştirmek amacıyla kullanılabilir. Fakat bazı durumlarda değişkenin değiştirilmesini istemeyiz ve yalnızca okunabilir olmasını tercih edebiliriz. Bu sebeple const ön eki ile değişkenin yalnızca okunabilir olmasını sağlayabiliriz.

 

Olayı işaretçiler ile birleştirdiğimizde karşımıza şöyle bir senaryo çıkıyor.

const int * ptr;

Yani aslında değişkenlere uygular gibi işaretçilere de rahatlıkla uygulayabiliyoruz. Şimdi aşağıdaki yapıya göz atalım.

int main() {
	int x = 10;
	int y,z;
	const int * ptr = &x;
	y = *ptr;
	cout << y; // Ekrana 10 çıktısını verir.
	*ptr = z; // Yalnızca okunabilir bir nesne olduğu için hata verir.
}

Açıklama satırlarında belirttiğim gibi ptr isimli pointera yalnızca tek bir değer atayabiliriz.

İşaretleyiciler Sabitler Bakımından 4 Başlıkta İncelenir;

Sabit Olmayan İşaretleyici ve Sabit Olmayan Değişken

int * pointerAdi
int main() {
	int x = 10;
	int y = 5;
	int * pointerAdi = &x;
}

Sabit Olmayan İşaretleyici ve Sabit Olan Değişken

const int * pointerAdi
int main() {
	int x = 10;
	int y = 5;
	const int * pointerAdi = &x;
	*pointerAdi = y; // HATA!
}

Sabit Olan İşaretleyici ve Sabit Olmayan Değişken

int * const pointerAdi
int main() {
	int x = 10;
	int y = 5;
	int * const pointerAdi = &x;
	pointerAdi = &y; // HATA
}

Sabit Olan İşaretleyici ve Sabit Olan Değişken

const int * const pointerAdi
int main() {
	int x = 10;
	int y = 5;
	const int * const pointerAdi = &x;
	pointerAdi = &y; // HATA
	*pointerAdi = y; // HATA
}

Yukarıda 4 farklı işaretleyici ve sabit ilişkisini inceledik. Bu kombinasyonlar dikkat edilmesi gereken temellerdir.

YORUMLAR 0
Bu konuya henüz kimse yorum yapmadı.
İlk yorumu sen yapmak ister misin?
YORUM BIRAK
Şuanda bu yoruma cevap yazıyorsunuz:
İptal Et