Postfix artış operatöründen performans nedenlerinden dolayı kaçınmam gerektiğini (bazı durumlarda) okudum .
Fakat bu kod okunabilirliğini etkilemiyor mu? Bana göre:
for(int i = 0; i < 42; i++);
/* i will never equal 42! */
Şundan daha iyi görünüyor:
for(int i = 0; i < 42; ++i);
/* i will never equal 42! */
Ama bu muhtemelen sadece alışkanlık dışında. Kuşkusuz, pek fazla kullanım görmedim ++i
.
Bu durumda okunabilirliği feda etmek o kadar kötü mü? Yoksa sadece körüm ve ++i
bundan daha okunaklı i++
mıyım?
++i
ve i++
belli bağlamlarda farklı şeyler yapın, aynı olduklarını varsaymayın.
for (type i = 0; i != 42; ++i)
. Sadece operator++
aşırı yüklenmekle kalmaz, aynı zamanda operator!=
ve de olabilir operator<
. Ön ek artış postfix'den daha pahalı değildir, eşit değil daha düşük değerden daha pahalı değildir. Hangilerini kullanmalıyız?
i++
Performansı etkileyebileceğini bilmeden önce kullandım++i
, bu yüzden değiştirdim. İlk başta ikincisi biraz tuhaf görünüyordu, ama bir süre sonra buna alıştım ve şimdi olduğu kadar doğal hissediyori++
.