SORU
27 NİSAN 2010, Salı


Arama yapmadan yeni c kurucular

İnsanlar C kullanarak nesneleri oluşturmak o kadar sık gördüm

Thing myThing("asdf");

Bunun yerine:

Thing myThing = Thing("asdf");

Bu şablonlar vardır Hayır olarak (gcc kullanarak), en azından uzun bir iş gibi görünüyor. Şimdi benim sorum, ilk satır doğru olur mu kullanmalıyım?

CEVAP
27 NİSAN 2010, Salı


Her iki hattın aslında doğru ama kurnazca farklı şeyler.

İlk satır biçiminde bir kurucu Thing(const char*) çağırarak yığında yeni bir nesne oluşturur.

İkincisi biraz daha karmaşık. Aslında şunları yapar

  1. Türünde bir nesne Thing kurucu Thing(const char*) kullanarak oluşturun
  2. Türünde bir nesne Thing kurucu Thing(const Thing&) kullanarak oluşturun
  3. Çağrı nesne adımda oluşturduğunuz ~Thing() #1

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • DRDAnimation

    DRDAnimation

    28 EYLÜL 2012
  • fast2hell

    fast2hell

    16 AĞUSTOS 2006
  • Kiddyzuzaa

    Kiddyzuzaa

    25 ŞUBAT 2014