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

  • FamilyFeud

    FamilyFeud

    22 AĞUSTOS 2006
  • incognitotraveler

    incognitotra

    27 Mayıs 2010
  • Stevie

    Stevie

    2 Mayıs 2010