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

  • Christopher Bill

    Christopher

    30 NİSAN 2009
  • Cole Rolland

    Cole Rolland

    23 Kasım 2008
  • Megan Parken

    Megan Parken

    19 Temmuz 2009