2010-08-12 19 views

cevap

5

C bool türü yok: Aşağıdaki ama onun bir hata vererek çalıştı. Bunun yerine, false için 0 ve true için 1 int kullanabilirsiniz.

+0

C99'un C. olduğunu düşünmüştüm. –

+0

C99'da boole var. #include ninjalj

+0

Evet, C DOES bir boole tipine sahip. Bu _Bool ve # 1 yapılarak kullanılabilir. Unutmayın, C99 _IS_ C. –

-2

C99'da bir boole tipi var. Ama neden kodunuzu C++ 'a yazamadığınızı merak ediyorum. C++'nın tüm gelişmiş OOP özelliklerini kullanmanıza gerek yoktur. "C stili" kodu yazabilir ve bir C++ derleyicisi ile derleyebilirsiniz.

+0

1 ile kaçış: – paercebal

+4

C++ => değişken uzunlukta diziler, variadic makrolar, snprintf, belirlenen C. See için yerine geçmez düzgün bazı C++ numaralar öğrenmek için iyi bir yol olabilir başlatır. –

+3

Yeni olduğun için reddetmeyeceğim, ama genellikle birisinin kendi dilini değiştirmesini önermemelisin, hatta C'den C++'ye. – Potatoswatter

0

imzasız karakter bunlardan 1000 dizisi yaşayacaksın, özellikle genellikle int daha bool için daha iyi bir seçimdir. Her ne kadar uygulama imzasız bir char'ın ne kadar büyük olduğuna ve dizinin nasıl paketleneceğine bağlı olsa da. Bir tür ortamınızda tanımlı değilse

+0

Hayır. Genellikle daha yavaş ve asla daha hızlı değil. –

+0

Erişim hızının genellikle biraz daha yavaş olacağı konusunda haklısınız, ancak erişim hızının önemi diziye hangi sıklıkta ve ne şekilde erişildiğine bağlıdır. Hafıza tasarrufu çok daha önemli olabilir. CPU kısıtlı veya hafızanız kısıtlı olup olmamanız gereken bir şey. Tahminim, erişim hızındaki farkın fark edilmeyeceğidir, ancak dizi tarafından alınan ekstra bellek fark edilecektir. Her şey kullanım senaryonuza bağlı. – david

2

, ayrıca bool, örneğin kendi türlerini tanımlayabilir

typedef enum {false,true} bool; 
İlgili konular