DonanımHaber Mini sürüm 2 Ocak 2026 tarihi itibariyle kullanımdan kalkacaktır. Bunun yerine daha hızlı bir deneyim için DH Android veya DH iOS uygulamalarını kullanabilirsiniz.
Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
6
Cevap
2518
Tıklama
0
Öne Çıkarma
a++ ile ++a farkını anlayamadım
S
11 yıl (1823 mesaj)
Yüzbaşı
Konu Sahibi

örnek vericem mesela

int a;

a=10;

cout<<"New value of a"<<a++<<endl;

10 olurken


cout<<"New value of a"<<++a <<endl;

11 oluyor

yukardaki önce aynı al sonra arttır demek alttaki ise önce arttır sonra o sayıyı yeni a olarak kabul et tamam fakat 1.de önce aynı alıp sonra arttırma olayı olmuyor



S
11 yıl (1823 mesaj)
Yüzbaşı
Konu Sahibi

Yada şöyle diyeyim


int a,b;

a=3;
b=10;

a=b++

cout<<a;

a nın yeni değerini 10 alıyor neden 11 değil



M
11 yıl (112 mesaj)
Çavuş

İlk verdigin ornekde durum su:

Sayi once ekrana basilir sonra bir arttirilir (a++)

İkinci ornekte ise sayi once bir arttirilir sonra ekrana basilir(++a) aslinda olay basit. Kolay gelsin

Edit: diger ornegi atlamisim,

Soyle dusunebilirsin, gordugun uzere a=b++ diyor. b burada esittirin hemen yaninda yani once atama islemi yapiliyor. Daha sonra ++ geldigi icin arttirma islemi sonra oluyor. Kolay gelsin





< Bu mesaj bu kişi tarafından değiştirildi MobutO -- 14 Kasım 2014; 23:41:02 >

< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
S
11 yıl (1823 mesaj)
Yüzbaşı
Konu Sahibi

quote:

Orijinalden alıntı: MobutO

İlk verdigin ornekde durum su:

Sayi once ekrana basilir sonra bir arttirilir (a++)

İkinci ornekte ise sayi once bir arttirilir sonra ekrana basilir(++a) aslinda olay basit. Kolay gelsin

Ekrana basılıyo 10 diye işte sonra arttırmıyoki 10 kalıyor. a ile a++ hiçbir farkı yok burda o zaman


Bu mesaja 1 cevap geldi.
M
11 yıl (112 mesaj)
Çavuş

quote:

Orijinalden alıntı: Starbucksunstari

quote:

Orijinalden alıntı: MobutO

İlk verdigin ornekde durum su:

Sayi once ekrana basilir sonra bir arttirilir (a++)

İkinci ornekte ise sayi once bir arttirilir sonra ekrana basilir(++a) aslinda olay basit. Kolay gelsin

Ekrana basılıyo 10 diye işte sonra arttırmıyoki 10 kalıyor. a ile a++ hiçbir farkı yok burda o zaman

Yanlis dusunuyosun. a degiskenini tekrar ekrana basarsan degistigini goreceksin



< Bu ileti mobil sürüm kullanılarak atıldı >

M
11 yıl (112 mesaj)
Çavuş

Daha iyi nasil anlatirum bilemiyorum ama soyle anlatayim:

int a=10;
cout<<"a="<<a++<<endl;
Bunun ciktisi dedigin gibi 10 olur. Ama bu kodun hemen arkasindan soyle yazarsan farki goreceksin;
cout<<"new a="<<a<<endl;
Bunun ciktisi ise 11 olur



< Bu ileti mobil sürüm kullanılarak atıldı >

M
11 yıl (112 mesaj)
Çavuş

Hocam bahsettigin tabloya baktim ve ardindan cok kisa bir arastirma yaptim ve soyle bir sonuca ulastim:
++a sayiyi arttirir ve ve artmis halini retyrn eder, a++ sayiyi arttirir ve artmadan onceki halini return eder.

Yani senin dedigin dogru, ++ islemi atama isleminden daha once yapiliyor. Benim oyle soylememin sebebi ise arkadasin daha rahat anlamasi icindi. Gerci bende onceligi bilmiyordum ama ogrenmis oldum eyvallah



< Bu ileti mobil sürüm kullanılarak atıldı >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.