for (;;) {
//Something to be done repeatedly
}
Bu tür şeylerin çok kullanıldığını gördüm, ama bence çok garip ... Söylemek çok daha net olmaz mıydı while(true)
, yoksa bu şeyler boyunca bir şey mi?
(Birçok programcı şifreli kod başvurmak nedeni olarak) bu küçük bir fark daha hızlı olduğunu tahmin ediyorum?
Neden ve buna gerçekten değer mi? Öyleyse, neden sadece bu şekilde tanımlamıyorsunuz:
#define while(true) for(;;)
Ayrıca bakınız: Hangisi daha hızlı: while (1) veya while (2)?
TRUE
C ile ne ilgisi var? C99'da gerçek boolen sonucu için standart makro hala var true
. Nereden TRUE
geldi?
#define while(TRUE)
denilen bir argümanı alan bir makro bildirmek için değil TRUE
, bu nedenle programınızdaki her while döngüsünü sonsuz bir döngüye dönüştürmek için değil mi?
TRUE
, Windows API ile ilişkili başlık dosyalarından gelir. Hiçbir şekilde VS 6.0 ile ilgili değildir. Daha önce de söylediğim gibi, C veya C ++ ile ilgisi yoktur. C ++ 'da "true" değişmez değeri sadece true
(VS 6.0'da da), C89 / 90'da böyle bir şey yok ve C99'da makro true
. Bu, tüm C / C ++ derleyicileri için geçerlidir.
TRUE
???