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

  • Call Me Howard

    Call Me Howa

    18 AĞUSTOS 2012
  • tinycammonitor

    tinycammonit

    14 Aralık 2010
  • Trulia

    Trulia

    29 Kasım 2006