Için getirmedi (), ben neden + + yerine + + i kullanabilir?

0 Cevap java

Belki de optimize kez derleyici için önemli değildir, ancak C / C + +, çoğu insan şeklinde döngü için bir hale bakın:

for (i = 0; i < arr.length; i++)

artan bir sonrası düzeltme + + ile yapılır nerede. Ben iki form arasındaki fark olsun. i + + i mevcut değerini döndürür, ama sonra sessiz üzerinde i 1 ekler. + + Ben ilk 1 ekler ve (i oldu 1'den fazla olması) yeni bir değer döndürür.

Ben bir önceki değer bir sonraki değere ek olarak saklanması gerekir beri i + +, biraz daha fazla iş alır düşünürdüm: Push * (& i) yığını (veya kayıt yüklemek) için; artım * (& i). Karşı + + i: Artış * (& i); gerektiği gibi o (& i) * kullanın.

(Ben "Artış * (& i)" işlemi işlemci tasarımına bağlı olarak, bir kayıt içeren bir yük olabileceğini olsun. Durumda, i + + başka bir kayıt ya da bir yığın itme ya da gerekir.)

Her neyse, hangi noktada ve neden, i + + daha moda oldu?


Ben azheglov inanmaya eğilimli değilim: Bu pedagojik bir şey, ve çoğumuz bir Window veya * derleyiciler yüksek kalitede nix sistem üzerinde C / C + + yapmak beri, kimsenin canı yanmasın.

Eğer düşük kaliteli derleyici veya yorumlanmış bir ortamı kullanarak ediyorsanız, bu duyarlı olması gerekebilir. Gelişmiş C + + veya aygıt sürücüsü veya gömülü işi yapıyoruz, elbette, umarım bu hiç de büyük bir anlaşma olması için yeterince iyi görmüş demektir. (Köpekler Buddah-doğasını var mı? Gerçekten bilmek gerekiyor kim?)

0 Cevap