SORU
30 EYLÜL 2008, Salı


Adsız/anonim ad vs statik fonksiyonları

C az kullanılan bir özellik (anonim) isimsiz ad, gibi oluşturmak için yeteneği

namespace {
    int cannotAccessOutsideThisFile() { ... }
} // namespace

Böyle bir özellik ad belirtebilirsiniz. madem faydasız olacağını düşünürdüm, imkansız dışından içindeki her şeyi erişmek için. Ama bu isimsiz addosya içinde erişilebilir eğer örtülü bir madde kullanarak onlara varmış gibi oluşturulmuş.

Benim sorum, neden ve ne zaman bu statik işlevleri kullanmayı tercih olurdu? Ya aslında aynı şeyi yapmanın iki yolu vardır?

CEVAP
30 EYLÜL 2008, Salı


C Standart İsimsiz ad, paragraf 2 Bölüm 7.3.1.1 okur:

Static anahtar sözcüğü kullanılır bir nesne bildirirken onaylanmamış adsız-AD, AD, kapsam üstün bir alternatif sağlar.

Statik tek tür bildirimleri için nesneler, fonksiyonlar, ve anonim sendikaların adları için geçerlidir.

Düzenleme:

Statik anahtar kelime (çeviri biriminde bir değişken bildiriminde görünürlüğünü Etkiler) Bu kullanım iptal etme kararı (ref) tersine döndü. Bu durumda bir statik ya da adsız bir ad kullanarak aynı şeyi yapmanın temelde iki yolu olmak için geri döndü. Daha fazla tartışma için lütfen this Bu soruya bakın.

İsimsiz ad hala çeviri-birim-yerel türlerini tanımlamak için izin avantajı var. Lütfen daha fazla bilgi için this Bu soruya bakın.

Kredi beni bilgilendirdiğiniz için Mike Percy gider.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bethliebert

    bethliebert

    23 EKİM 2008
  • Garrett Müller

    Garrett Mül

    26 HAZİRAN 2009
  • Mega64

    Mega64

    24 ŞUBAT 2006