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 ++ibundan daha okunaklı i++mıyım?
++ive 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++.