SORU
11 HAZİRAN 2009, PERŞEMBE


Neden yapıcı şablon parametre anlaması değil mi?

benim sorum bugün oldukça basit: neden derleyici fonksiyon parametreleri yapabildiği kadar sınıf kurucularını şablon parametreleri gerçekleştirip, olmaz mı? Örneğin, aşağıdaki kod geçerli bir neden olamaz:

template<typename obj>
class Variable {
      obj data;
      public: Variable(obj d)
              {
                   data = d;
              }
};

int main()
{
    int num = 2;
    Variable var(num); //would be equivalent to Variable<int> var(num),
    return 0;          //but actually a compile error
}

Dediğim gibi, yani benim soru bu geçerli olmadığını anlıyorumnedendeğil mi? Bu izin, herhangi bir büyük sözdizimsel delik oluşturmak istiyorsunuz? Bu işlev, bir tür çıkarım sorunlara neden olur) istemez bir örneği var mı? Sadece uygun oluşturulmuş sınıflar için işlevler için, henüz şablon çıkarım izin arkasındaki mantığı anlamaya çalışıyorum.

Teşekkürler

CEVAP
12 HAZİRAN 2009, Cuma


Kurucu her zaman sınıfının giriş (yapımcı ve işletmeci= kopya bahsediyorum) yeri olmadığı için geçerli değil bence. Senin gibi sınıfı kullanıyorsunuz sanırım bu yüzden :

MyClass m(string s);
MyClass *pm;
*pm = m;

Eğer çözümleyici Şablon Türü Sınıfım başbakanın ne olduğunu bilmek için çok belli olurdu emin değilim;

Bence söylediği mantıklı ama bazı yorum eklemek için çekinmeyin, bu ilginç bir soru.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ☆ SUB4SUB CENTER! ☆ spam here

    ☆ SUB4SUB

    22 ŞUBAT 2010
  • FUNKER530 - Veteran Community & Combat Footage

    FUNKER530 -

    25 Ocak 2007
  • jat4011

    jat4011

    16 EKİM 2010