SORU
20 Mayıs 2010, PERŞEMBE


printf vs C +

printf() C cout arasındaki fark nedir ?

CEVAP
20 Mayıs 2010, PERŞEMBE


C FAQ:

<iostream> yerine kullanmalıyım [15.1] Neden geleneksel <cstdio>?

Tür güvenliği artırmak, hataları azaltmak, esneklik sağlar, ve inheritability sağlamak.

printf() belki kırık değil, ve scanf() belki de hata eğilimli olmasına rağmen, ancak her ikisi de sınırlıdır C I/O neler yapabileceğini saygı ile yaşanabilir. C G/Ç (<< >> kullanarak), C göreli (printf() scanf() kullanarak):

  • Tip-güvenli daha: <iostream>,/O olur, nesne türü ben olmak derleyici tarafından statik olarak bilinir. İçinde kontrast, <cstdio> " % " alanları kullanır türleri dinamik olarak anlamaya.
  • Daha az hata eğilimli: <iostream>, gereksizdir vardır "%" simgeleri tutarlı olmak zorunda gerçek nesneler I/O olur. Kaldırma fazlalık bir sınıf kaldırır hataları.
  • Genişletilebilir: <iostream> mekanizma sağlar kullanıcı tanımlı yeni C kırmadan I/O olurdu. varolan kodu. Eğer kaosu bir düşünün herkes aynı anda ekleme oldu "" alanlara % yeni uyumsuz printf() 15**?!
  • Kalıt: C <iostream> mekanizma gerçek sınıflardan inşa edilmiştir std::ostream gibi std::istream. <cstdio>'In aksine FILE*, Bu gerçek sınıfları ve dolayısıyla devredilebilir. Bu yapabilirsiniz anlamına gelir diğer kullanıcı tanımlı şeyler var bak ve akarsu gibi, henüz bu hareket ne garip ve harika istediğiniz şeyler. Otomatik olarak satır zilyonlarca al kullan Yok O kod kullanıcılar tarafından yazılmış/ hatta, gerek yok biliyorum hakkında "genişletilmiş stream"biliyor sınıf.

Diğer taraftan, printf tercihi kullanarak haklı olabilir önemli ölçüde daha hızlıdır, coutçokbelirli ve sınırlı durumlarda. Her zaman ilk tercihi. (Örneğin, http://programming-designs.com/2009/02/c-speed-test-part-2-printf-vs-cout/)

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • HBO

    HBO

    17 Mayıs 2006
  • JTechTalk

    JTechTalk

    11 Temmuz 2010
  • The Weavers of Eternity Paracord Tutorials

    The Weavers

    1 Ocak 2014