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

  • Dellbear816

    Dellbear816

    4 Mart 2008
  • jonathepianist

    jonathepiani

    31 Temmuz 2008
  • PlugResearch

    PlugResearch

    22 Mart 2006