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

  • Amir Parmar

    Amir Parmar

    25 Kasım 2010
  • EminemVEVO

    EminemVEVO

    12 Mayıs 2009
  • mahalodotcom

    mahalodotcom

    8 HAZİRAN 2007