SORU
9 AĞUSTOS 2010, PAZARTESİ


MİN ve C MAX

Nerede MIN MAX Eğer C olarak tanımlanır?

Güvenli bir şekilde bu, genel olarak ve türü uygulamak için en iyi yolu nedir? (Derleyici uzantıları ana Derleyiciler tercih ettiğiniz için yerleşiklere/.)

CEVAP
9 AĞUSTOS 2010, PAZARTESİ


Nerede MIN MAX Eğer C olarak tanımlanır?

Değiller.

Ne bu uygulamak için en iyi yoldur, ve tür olarak genel olarak güvenli mümkün olduğunca (ana Derleyiciler tercih ettiğiniz için derleyici uzantıları/yerleşiklere).

İşlev olarak. Özellikle eğer kodunuzu dağıtmak istiyorsanız #define MIN(X, Y) (((X) < (Y)) ? (X) : (Y)) gibi makrolar kullanmak istemem. Ya da kendi yazmak, standart gibi bir şey kullanın. fmax fmin veya makro GCC's typeof kullanarak düzeltme (typesafety çok bonus olsun):

 #define max(a,b) \
   ({ __typeof__ (a) _a = (a); \
       __typeof__ (b) _b = (b); \
     _a > _b ? _a : _b; })

Herkes "oh çifte değerlendirme bilirim" ve birkaç ay yolda, saatlerce. en saçma sorunları hata ayıklama olacaksın sorun yok diyor

Not typeof yerine __typeof__ kullanımı:

Eğer bir başlık dosyası olan yazıyorsanız ISO C dahil ne zaman çalışmalı programlar, __typeof__ yerine yazmak typeof.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ben Vivona

    Ben Vivona

    24 Ocak 2010
  • Derek Banas

    Derek Banas

    12 AĞUSTOS 2008
  • TWiT Netcast Network

    TWiT Netcast

    27 EKİM 2005

İLGİLİ SORU / CEVAPLAR