SORU
27 HAZİRAN 2013, PERŞEMBE


Neden zamanı boyutlu diziler ve std::C 14 dynarray?

Taslak C 14 çalışma zamanı ölçekli hem de diziler ve std::dynarray konteyner içerir. Ne söyleyebilirim, tek gerçek arasındaki fark iki olan std::dynarray Bir STL arabirimi (örneğin, begin, end, size, vb.), zamanı boyutlu ise diziler. Neden C 14 ikisine de ihtiyacı var mı?

Anlıyorum ki zamanı boyutlu diziler bölümü çekirdek dil, süre std::dynarray parçası standart kütüphane, ama the proposal for std::dynarray net yapar bu yazarlar bekliyoruz derleyici, birçok durumda, teklif özel destek std::dynarray olması gibi verimli olarak mümkün, yani, verimli olarak bir çalışma zamanı boyutlu dizi. Gibi, kütüphane ayrım/dili biraz yapay görünüyor.

Yani, yine, neden C 14 de ihtiyacı var zamanı boyutlu diziler std::dynarray? Ve std::dynarray (STLified) zengin bir arayüzü var olduğu göz önüne alındığında, sadece zamanı büyüklüğünde damla neden, std::dynarray eşit çalışma zamanı verimliliği ile uygulanabilir varsayarak diziler?

Açıklama

Ne zaman konuşmak hakkında "çalışma zamanı boyutlu diziler," başvurduğumu yeni C 14 temel dil özelliği bu tarif N3639 değil, geleneksel C diziler veya VLAs falan C 11.

CEVAP
27 HAZİRAN 2013, PERŞEMBE


N3639 C otomatik depolama süresi çalışma zamanı ölçekli yerli diziler eklemek için öneriyor .

N2648 C ile tutmak pratik, std::dynarraysadece otomatik değişkenler için kullanılabilir s olduğunu söylüyor. Ama verimlilik avantajı ayırma yığını almak için, otomatik bir değişken olarak kullanıldıĞında dynarray en iyi hale getirilebilen yapmak istiyoruz.

Kısa, C11 stil zamanı boyutlu diziler yığında saklı olmakla sınırlı. dynarray değil, ama zamanı boy C11 tarzı diziler gibi verimli olması için yığın (hedef) saklanan en iyi hale getirilmiş olabilir.

C11 tarzı ölçekli zamanı, diziler yararlı bir sözdizimi hala olabilir, ve C ile intercompilability artırmak için maliyeti yüksek değil: mekanizma dynarray verimli otomatik nasıl olsa uygulanmıyor. Buna ek olarak, C11 tarzı diziler birinci sınıf vatandaş ölçekli zamanı, ve ne olursa olsun, programcı tarafından std kütüphane kullanımı var.

Orada önemli farklılıklar arasında gerçek C11 zamanı boyutlu diziler ve C 1y C11-stil zamanı boyutlu diziler, en az olduğu zamanı sizeof gerçek C11 zamanı boyutlu dizileri destekler. Ama temel kullanım uyumlu olabilir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jonathan Leack

    Jonathan Lea

    26 ŞUBAT 2007
  • Megan Parken

    Megan Parken

    19 Temmuz 2009
  • thelonelyisland

    thelonelyisl

    23 Aralık 2005