SORU
15 EKİM 2009, PERŞEMBE


Ne "iddia" fonksiyonu?

OpenCV eğitimlerini inceledim ve assert işlevi karşısında; ne işe yarar?

CEVAP
15 EKİM 2009, PERŞEMBE


assert Eğer argüman dışarı yanlış olursa program (genellikle bir ileti bildirimi onaylama Alıntı ile) sona erecektir. genel olarak program, eğer beklenmedik bir durum ortaya çıkarsa daha açıkçası başarısız yapmak için hata ayıklama işlemi sırasında kullanılır.

örneğin:

assert(length >= 0);  // die if length is negative.

Ayrıca daha bilgilendirici bir mesaj ise: sanki başarısız olursa gösterilecek ekleyebilirsiniz

assert(length >= 0 && "Whoops, length can't possibly be negative! (didn't we just check 10 lines ago?) Tell jsmith");

Yoksa bu gibi:

assert(("Length can't possibly be negative! Tell jsmith", length >= 0));

Açıklaması (non-debug) inşa yaparken, aynı zamanda NDEBUG makro tanımlayarak assert bildirimleri değerlendirerek yükü, genellikle bir derleyici anahtarı ile kaldırabilirsiniz. Bunun doğal sonucu programınızın olmasıdıraslaiddia makro çalıştıran güveniyor.

// BAD
assert(x  );

// GOOD
assert(x);    
x  ;

// Watch out! Depends on the function:
assert(foo());

// Here's a safer way:
int ret = foo();
assert(ret);

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Hak5

    Hak5

    7 EYLÜL 2005
  • Virtual Riot

    Virtual Riot

    19 Mayıs 2011
  • VOICE TV

    VOICE TV

    2 Aralık 2010