SORU
1 EKİM 2013, Salı


::std dynarray vs std::vector

C 14 std::dynarray hediyeler:

::std dynarray bir dizi içeren bir dizi kapsayıcı. inşaat sabittir ve değişmez ölçü boyunca nesnenin ömür boyu.

std::dynarray çalışma zamanı std::vector Aynı olarak ayrılması gerekir.

Yararları ve daha dinamik olan std::vector (yeniden boyutlandırılabilir) std::dynarray kullanımı nedir?

CEVAP
1 EKİM 2013, Salı


Yararları ve daha dinamik olan std::vector kullanabileceğimiz zaman std::dynarray, kullanımı (Yeniden boyutlandırılabilir) nedir?

dynarray boyut ve kapasite değerleri ayrı yönetmek için ihtiyacı yok, çünkü vector, daha küçük ve daha basittir, ve bir ayırıcı saklamak gerekmez.

Ancak ana performans yararı uygulamalar dynarray mümkün olduğunda yığın tahsis etmelidirler aslında, herhangi bir yığın ayırma görmezden gelmek için tasarlanmıştır. örneğin

std::dynarray<int> d(5);   // can use stack memory for elements
auto p = new std::dynarray<int>(6);  // must use heap memory for elements

Bu optimizasyonu derleyici işbirliği gerektirir, saf bir kütüphane türü olarak uygulanabilir ve gerekli derleyici sihirli uygulanmadı ve kimse yapmak için nasıl emin. Çünkü eksikliği uygulama deneyimi, C Komitesi toplantısı Chicago'da geçen hafta karar verildi çekin std::dynarray C 14 ve sorun için ayrı bir dizi uzantıları TH (teknik şartname) belge tanımlama std::experimental::dynarray ve diziler çalışma zamanı bağlı bel ağrısı, benzer C99 VLAs.) Bu std::dynarray neredeyse kesinlikle C 14 kullanılmayacaktır.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • bobinire

    bobinire

    24 EYLÜL 2006
  • Derek Banas

    Derek Banas

    12 AĞUSTOS 2008
  • Google Developers

    Google Devel

    23 AĞUSTOS 2007