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

  • ghosti66

    ghosti66

    27 AĞUSTOS 2006
  • Tire Rack

    Tire Rack

    31 Mayıs 2007
  • Willie D.

    Willie D.

    16 Aralık 2006