SORU
18 ŞUBAT 2009, ÇARŞAMBA


C örtülü bir varsayılan kurucu var mı ?

Kitabı okuyorum şu anda (C Without Fear) diyor ki olmazsa bildirin varsayılan yapıcı bir sınıf, derleyici malzemeleri için, "sıfır dışında her veri üyesi". Bu tecrübe ettik, ve herhangi bir sıfırlama davranış göremiyorum. Ben de Google'da bu söz edilen bir şey bulamıyorum. Bu sadece bir hata ya da belirli bir derleyici bir cilvesi mi?

CEVAP
18 ŞUBAT 2009, ÇARŞAMBA


Eğer bir kurucu tanımlarsanız, derleyici varsayılan bir kurucu tanımlamak olacaktır.

Bu uygulanması

varsayılan kurucu

  • base class (temel sınıf varsayılan bir oluşturucuya sahip değil, bu bir derleme hatası) varsayılan yapı
  • Bildirgeye sırayla her üye değişkeni varsayılan yapı. (Eğer bir üye varsayılan bir oluşturucuya sahip değil, bu bir derleme hatası).

Not:
POD verileri (tamsayı,kayan nokta,işaretçi, vb.) açık bir oluşturucuya sahip değil, ancak varsayılan eylem yapacak (C vane felsefe; biz açıkça bunun için sormadan bir şey için ödeme yapmak istemiyoruz).

Eğer yıkıcı/kopya Kurucu/Atama operatörü tanımlanmış derleyici oluşturur, o sizin için (yani bir sınıf hep bir yıkıcı/Kopya Kurucu/Atama Operatörü (sürece hile ve açıkça ilan ediyorum ama yok tanımlamak)).
Varsayılan uygulama

Yıkıcı:

  • Eğer kullanıcı tanımlı yıkıcı tanımlanır, kod sağlanan yürütmek.
  • Bildirgeye ters sırayla her üye yıkıcı arayın
  • Temel sınıf yıkıcı arayın.

Kopya Kurucu:

  • Temel sınıf Kurucusunu Kopyasını arayın.
  • Kopya beyan sırayla her üye değişkeni için yapıcı arayın.

Atama Operatörü:

  • Taban sınıfın atama operatörü arayın
  • Bildirim sırasına göre her bir üye değişken atama operatörünü arayın.
  • Bu bir başvuru döndürmek.

POD Veri not Kopyasını İnşaat/Atama operatör sadece veri (Dolayısıyla sığ kopyalama sorunu ÇİĞ işaretçiler ile ilişkili) kopyalama.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • emimusic

    emimusic

    10 Mart 2006
  • TV and Lust

    TV and Lust

    26 HAZİRAN 2006
  • WOSU Public Media

    WOSU Public

    23 AĞUSTOS 2007