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

  • Julia Graf

    Julia Graf

    6 Mayıs 2006
  • Sarah's YouTube Channel

    Sarah's YouT

    27 Temmuz 2009
  • wafflepwn

    wafflepwn

    14 AĞUSTOS 2008