SORU
5 HAZİRAN 2012, Salı


Neden hiç emplace_back yerine push_back kullanmalıyım?

Vektör C 11 yeni işlev emplace_back. Derleyici en iyi duruma getirmeleri üzerine kopyalar, emplace_back önlemek için kullanır push_back mükemmel yönlendirme, doğrudan bir nesne-yer oluşturmak için oluşturucu bağımsız değişkenleri göndermek için kullanır aksine. emplace_back push_back yapabileceği her şeyi yapar, ama daha iyi (ama asla) daha kötüsü gelir gibi geliyor bana.

Sebebim push_back kullanmak için ne yapmak gerekiyor?

CEVAP
5 HAZİRAN 2012, Salı


push_back her zaman çok severim üniforma başlatma, kullanımına izin verir. Örneğin:

struct aggregate {
    int foo;
    int bar;
};

std::vector<aggregate> v;
v.push_back({ 42, 121 });

, v.emplace_back({ 42, 121 }); öte yandan çalışmaz.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ordetta Price

    Ordetta Pric

    12 EYLÜL 2011
  • Philip DeFranco

    Philip DeFra

    16 EYLÜL 2006
  • UberFacts

    UberFacts

    26 EKİM 2013