C++'da std::array nedir?

C Da Std Array Nedir



C++, öğe koleksiyonlarını depolamak ve işlemek için çeşitli veri yapıları sağlar. Böyle bir veri yapısı, std::dizi , C++ 11 standart kitaplığında tanıtıldı. Bu makale sayesinde std::array, sözdizimi, bir örnek ve C++'daki avantajlarını öğreneceksiniz.

C++'da std::array nedir

C++'da, olarak bilinen bir kapsayıcı std::dizi aynı veri türü öğelerinden sabit sayıda tutmak için kullanılır. bu std::dizi konteyner, daha güvenli, kullanımı daha kolay ve daha iyi performansa sahip olduğu için C tarzı dizilere bir alternatif sunar.

C++'ın standart kitaplığının bir bileşeni olan sınıf, aynı veri türündeki öğeleri depolamak ve bunlara erişmek için pratik ve etkili bir yaklaşım sunar. çünkü boyutu std::dizi derleme zamanında biliniyorsa, dinamik ölçeklendirmenin çalışma zamanı ek yükü azalır. Dizinin boyutu, şablon parametresi tarafından belirlenir ve dizinin öğeleri std::dizi bitişik bellekte tutulur.







C++'da std::array bildirin

beyan edebilirsiniz std::dizi beğenmek:



std :: sıralamak < int , 4 > varış ;

Yukarıdaki sözdizimi, adlı bir dizi bildirir. varış sabit boyutta 4 elemanlı, burada her eleman int tipindedir.



std::array örneği

Örnek 1: Aşağıda a başlatmak için basit bir örnek verilmiştir. std::dizi C++'da:





#include

#include

int ana ( ) {

std :: sıralamak < int , 4 > varış = { 4 , 6 , 2 , 1 } ;

için ( int Ben = 0 ; Ben < varış boyut ( ) ; Ben ++ ) {

std :: cout << varış [ Ben ] << ' ' ;

}

std :: cout << std :: son ;

geri dönmek 0 ;

}

Çıktı



Örnek 2: Ayrıca kullanabilirsin std::dizi Bir dizideki öğelere erişmek için. Kod aşağıda verilmiştir:

#include

#include

int ana ( ) {

std :: sıralamak < int , 3 > varış = { 1 , 2 , 3 } ;

std :: cout << 'İlk unsur' << varış [ 0 ] << std :: son ;

std :: cout << 'İkinci unsur' << varış de ( 1 ) << std :: son ;

std :: cout << 'Üçüncü unsur' << varış geri ( ) << std :: son ;

geri dönmek 0 ;

}

Çıktı

Örnek 3: Aşağıdaki örnek, kullanarak belirli bir konumdaki bir diziden bir öğenin yazdırılmasını gösterir. std::dizi C++'da.

#include

#include

int ana ( )

{

std :: sıralamak < int , 4 > varış = { 4 , 6 , 2 , 1 } ;

std :: cout << varış [ 3 ] << std :: son ;

geri dönmek 0 ;

}

Çıktı

C++'da std::array'in avantajları

C++'daki geleneksel dizilerin aksine, std::dizi bir dizi özellik sunar.

1: Sezgisel Sözdizimi

std::dizi başlatma için daha sezgisel bir sözdizimine sahiptir ve bir başlatıcı listesi kullanılarak başlatılabilir. Bu, diziyi başlatmanın daha özlü ve okunabilir bir yolunu sağlar.

2: Bağımsız Değişken Olarak İletildi

std::dizi işlevlere argüman olarak iletilebilir ve bunları işlevlerden döndürmek de mümkündür.

3: Bellek Yönetimi

kullanmanın en önemli faydalarından biri std::dizi kolay ve verimli bellek yönetimi sağlamasıdır. Bu, manuel bellek ayırmaya veya yeniden ayırmaya gerek olmadığı anlamına gelir.

4: Otomatik Cilt Kontrolü

Gerçek şu ki std::dizi C tarzı diziler üzerinde otomatikleştirilmiş sınırlar denetimi sunması, en önemli avantajlarından biridir. Bu, program dizinin tanımlı aralığı dışındaki bir öğeye erişmeye çalışırsa derleyicinin bir hata üreteceği anlamına gelir. Arabellek taşmaları, segmentasyon hataları ve bellek sızıntıları, sınır denetiminin kaçınmanıza yardımcı olabileceği sık programlama sorunlarından yalnızca birkaçıdır.

5: Yararlı İşlevler Sağlar

std::dizi yineleyiciler, size(), front(), back(), fill() ve at() gibi birçok kullanışlı işlev sunar, bu da başka bir avantajdır. Bu işlevler, karmaşık ve hataya açık koda ihtiyaç duymadan dizi öğelerinin işlenmesini kolaylaştırır. Örneğin yineleyiciler, dizinin öğeleri arasında gezinmeyi kolaylaştırır ve fill() yöntemi, dizinin tüm öğe kümesine tek bir değer vermenizi sağlar.

Çözüm

C++'da, std::dizi class, sabit boyutlu dizilerle çalışmanın pratik bir yolunun yanı sıra bazı kullanışlı işlevler ve tip ve menzil güvenliği avantajları sunar. Başlatma ve sınır denetimi için, birçok tipik programlama hatasından kaçınmaya yardımcı olabilecek daha net, daha anlaşılır bir sözdizimi sağlar. Sabit boyutlu dizilerin kullanılması gereken durumların çoğunda std::array kullanılması tavsiye edilir, çünkü bu dizileri manipüle etmek için daha güncel ve güvenli bir yöntem sağlar.