6
foo == 13
yanlış olduğunda bu kodun iyi tanımlanmış bir davranışı var mı?Yararsız bir koşulda değişken değiştirme
if (foo == 13 && ++bar > 42)
{
...
}
foo == 13
yanlış olduğunda bu kodun iyi tanımlanmış bir davranışı var mı?Yararsız bir koşulda değişken değiştirme
if (foo == 13 && ++bar > 42)
{
...
}
Evet. Eğer ilk koşul yanlışsa, ikincisi asla değerlendirilmez.
Bkz. Avoiding the execution of second expression's side effects.
Evet: "kısa devre değerlendirme" için google – wildplasser
İyi tanımlanmış, ancak insanlar nasıl çalıştığını sorduğunda, çok * iyi * kodu değil. Bunu kullanmaktan kaçınırdım. –