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

  • Mark Halberstadt

    Mark Halbers

    19 ŞUBAT 2010
  • Rachel Raum

    Rachel Raum

    10 EYLÜL 2007
  • steven johns

    steven johns

    11 Mart 2011