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: 2 misafir
6
Cevap
2519
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

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



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.