Ano ang std::array sa C++?

Ano Ang Std Array Sa C



Nagbibigay ang C++ ng iba't ibang istruktura ng data upang mag-imbak at magmanipula ng mga koleksyon ng mga elemento. Ang isa sa mga istruktura ng data ay ang std::array , na ipinakilala sa C++11 standard library. Sa pamamagitan ng artikulong ito, matututunan mo ang tungkol sa std::array, ang syntax nito, isang halimbawa, at ang mga pakinabang nito sa C++.

Ano ang std::array sa C++

Sa C++, isang lalagyan na kilala bilang std::array ay ginagamit upang humawak ng nakapirming numero ng parehong mga item sa uri ng data. Ang std::array Ang container ay nagbibigay ng alternatibo sa mga C-style array dahil ito ay mas ligtas, mas madaling gamitin, at may mas mahusay na performance.

Ang klase, na isang bahagi ng karaniwang library ng C++, ay nag-aalok ng praktikal at epektibong diskarte sa pag-imbak at pag-access ng mga elemento na may parehong uri ng data. Ang laki kasi ng std::array ay kilala sa oras ng pag-compile, ang runtime na overhead ng dynamic na scaling ay nababawasan. Ang laki ng array ay itinakda ng parameter ng template, at ang mga item ng std::array ay itinatago sa magkadikit na alaala.







Ipahayag ang std::array sa C++

Maaari mong ideklara std::array gaya ng:



std :: array < int , 4 > arr ;

Ang syntax sa itaas ay nagdedeklara ng array na pinangalanan arr na may nakapirming laki ng 4 na elemento, kung saan ang bawat elemento ay may uri na int.



Halimbawa ng std::array

Halimbawa 1: Ang sumusunod ay isang simpleng halimbawa sa inisyal na a std::array sa C++:





#include

#include

int pangunahing ( ) {

std :: array < int , 4 > arr = { 4 , 6 , 2 , 1 } ;

para sa ( int i = 0 ; i < arr. laki ( ) ; i ++ ) {

std :: cout << arr [ i ] << '' ;

}

std :: cout << std :: endl ;

bumalik 0 ;

}

Output



Halimbawa 2: Maaari mo ring gamitin std::array upang ma-access ang mga elemento sa isang array. Ang code ay ibinigay sa ibaba:

#include

#include

int pangunahing ( ) {

std :: array < int , 3 > arr = { 1 , 2 , 3 } ;

std :: cout << 'Ang unang elemento ay' << arr [ 0 ] << std :: endl ;

std :: cout << 'Ang pangalawang elemento ay' << arr. sa ( 1 ) << std :: endl ;

std :: cout << 'Ang ikatlong elemento ay' << arr. pabalik ( ) << std :: endl ;

bumalik 0 ;

}

Output

Halimbawa 3: Ang sumusunod na halimbawa ay nagpapakita ng pag-print ng isang elemento mula sa isang array sa isang partikular na posisyon gamit std::array sa C++.

#include

#include

int pangunahing ( )

{

std :: array < int , 4 > arr = { 4 , 6 , 2 , 1 } ;

std :: cout << arr [ 3 ] << std :: endl ;

bumalik 0 ;

}

Output

Mga kalamangan ng std::array sa C++

Hindi tulad ng mga tradisyonal na array sa C++, std::array nag-aalok ng isang hanay ng mga tampok.

1: Intuitive na Syntax

std::array ay may mas intuitive na syntax para sa pagsisimula at maaaring masimulan gamit ang isang listahan ng initializer. Nagbibigay ito ng mas maigsi at nababasang paraan ng pagsisimula ng array.

2: Naipasa bilang Mga Argumento

std::array maaaring ipasa bilang mga argumento sa mga function, at posible ring ibalik ang mga ito mula sa mga function.

3: Pamamahala ng Memorya

Isa sa mga pangunahing benepisyo ng paggamit std::array ay nagbibigay ito ng madali at mahusay na pamamahala ng memorya. Nangangahulugan ito na hindi na kailangan para sa manu-manong paglalaan ng memorya o deallocation.

4: Awtomatikong Bound Checking

Ang katotohanan na std::array nag-aalok ng automated bounds checking over C-style arrays ay isa sa mga pangunahing bentahe nito. Nangangahulugan ito na kung susubukan ng program na i-access ang isang elemento sa labas ng tinukoy na hanay ng array, gagawa ng error ang compiler. Ang mga buffer overflow, segmentation fault, at memory leaks ay ilan lamang sa mga madalas na isyu sa programming na maaaring makatulong sa iyo na maiwasan ang bound checking.

5: Nagbibigay ng Mga Kapaki-pakinabang na Function

std::array nag-aalok ng ilang madaling gamiting function, gaya ng mga iterator, size(), front(), back(), fill(), at at(), na isa pang advantage. Pinapadali ng mga function na ito na manipulahin ang mga elemento ng array nang hindi nangangailangan ng kumplikado at madaling pagkakamali na code. Halimbawa, pinapasimple ng mga iterator ang pag-navigate sa mga elemento ng array, at hinahayaan ka ng fill() na paraan na magbigay ng isang value sa buong hanay ng elemento ng array.

Konklusyon

Sa C++, ang std::array nag-aalok ang klase ng isang praktikal na paraan upang gumana sa mga nakapirming laki ng array, kasama ang ilang kapaki-pakinabang na function at ang mga bentahe ng kaligtasan ng uri at saklaw. Para sa initialization at bounds checking, nagbibigay ito ng mas malinaw, mas naiintindihan na syntax, na makakatulong upang maiwasan ang maraming karaniwang pagkakamali sa programming. Para sa karamihan ng mga sitwasyon kung kailan dapat gumamit ng mga fixed-sized na array, ang paggamit ng std::array ay pinapayuhan dahil nagbibigay ito ng mas napapanahon at secure na paraan ng pagmamanipula sa kanila.