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.