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

  • JamesAtiPhone

    JamesAtiPhon

    16 EYLÜL 2010
  • Kyler Briskey

    Kyler Briske

    20 ŞUBAT 2011
  • Stanislav Petrov

    Stanislav Pe

    7 ŞUBAT 2009