SORU
21 EYLÜL 2009, PAZARTESİ


Neden &; ad std quot;" kötü olarak kabul ediyormusunuz?

Hocam programlarımız using namespace std; kullanmamız gerektiğini söyleyerek yanlış olduğunu defalarca başkaları tarafından söylendi.Dolayısıyla, std::cout std::cin kullanmalıyız ve bu daha uygun.Ancak, hatta hiç bu kadar kötü bir uygulama olduğunu açıkça ifade etmediler.

Neden using namespace std; kötü sayılır mı? Gerçekten bu kadar verimsiz mi, yoksa belirsiz değişkenleri bildirmek(std ad alanında bir işlev olarak aynı adı paylaşan değişkenler) risk? Ya da bu fark daha büyük uygulamalar yazma gibi program performansını etkiler mi?

CEVAP
21 EYLÜL 2009, PAZARTESİ


Bu performans ile ilgili değil. Ama şunu düşünün: iki kitaplık Foo ve Bar: adı kullanıyorsunuz

using namespace foo;
using namespace bar;

Her şey gayet iyi çalışıyor, Foo Blah() arama ve sorunsuz Bar Quux(). Ama bir gün, Foo yeni bir sürüm için artık bir fonksiyonu Quux() denir sunan 2.0 yükseltme. Bir çelişki var: Hem Foo 2.0 ve Spor Genel ad Quux() al. Bu özellikle de işlev parametreleri aynı olursa düzeltmek için bir çaba olacak.

foo::Blah() bar::Quux() kullandıysanız o zaman foo::Quux() giriş olmayan bir olay olurdu.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Max Lee

    Max Lee

    18 AĞUSTOS 2006
  • RFS Dan

    RFS Dan

    22 Temmuz 2014
  • Wronchi Animation

    Wronchi Anim

    9 Mayıs 2011