Apakah std::array dalam C++
Dalam C++, bekas yang dikenali sebagai std::array digunakan untuk memegang nombor tetap item jenis data yang sama. The std::array bekas menyediakan alternatif kepada tatasusunan gaya C kerana ia lebih selamat, lebih mudah digunakan dan mempunyai prestasi yang lebih baik.
Kelas, yang merupakan komponen perpustakaan standard C++, menawarkan pendekatan yang praktikal dan berkesan untuk menyimpan dan mengakses elemen dengan jenis data yang sama. Kerana saiz std::array diketahui pada masa penyusunan, overhed masa jalan penskalaan dinamik dikurangkan. Saiz tatasusunan ditetapkan oleh parameter templat dan item bagi std::array disimpan dalam ingatan bersebelahan.
Isytiharkan std::array dalam C++
Anda boleh mengisytiharkan std::array seperti:
std :: tatasusunan < int , 4 > arr ;
Sintaks di atas mengisytiharkan tatasusunan bernama arr dengan saiz tetap 4 elemen, di mana setiap elemen adalah jenis int.
Contoh std::array
Contoh 1: Berikut adalah contoh mudah untuk permulaan a std::array dalam C++:
#include
#include
int utama ( ) {
std :: tatasusunan < int , 4 > arr = { 4 , 6 , 2 , 1 } ;
untuk ( int i = 0 ; i < arr. saiz ( ) ; i ++ ) {
std :: cout << arr [ i ] << ' ' ;
}
std :: cout << std :: endl ;
kembali 0 ;
}
Pengeluaran
Contoh 2: Anda juga boleh menggunakan std::array untuk mengakses elemen dalam tatasusunan. Kod diberikan di bawah:
#include#include
int utama ( ) {
std :: tatasusunan < int , 3 > arr = { 1 , 2 , 3 } ;
std :: cout << 'Elemen pertama ialah' << arr [ 0 ] << std :: endl ;
std :: cout << 'Elemen kedua ialah' << arr. di ( 1 ) << std :: endl ;
std :: cout << 'Elemen ketiga ialah' << arr. belakang ( ) << std :: endl ;
kembali 0 ;
}
Pengeluaran
Contoh 3: Contoh berikut menunjukkan mencetak elemen daripada tatasusunan pada kedudukan tertentu menggunakan std::array dalam C++.
#include#include
int utama ( )
{
std :: tatasusunan < int , 4 > arr = { 4 , 6 , 2 , 1 } ;
std :: cout << arr [ 3 ] << std :: endl ;
kembali 0 ;
}
Pengeluaran
Kelebihan std::array dalam C++
Tidak seperti tatasusunan tradisional dalam C++, std::array menawarkan pelbagai ciri.
1: Sintaks Intuitif
std::array mempunyai sintaks yang lebih intuitif untuk pemula dan boleh dimulakan menggunakan senarai pemula. Ini menyediakan cara yang lebih ringkas dan boleh dibaca untuk memulakan tatasusunan.
2: Lulus sebagai Hujah
std::array boleh dihantar sebagai hujah kepada fungsi, dan mungkin untuk mengembalikannya daripada fungsi juga.
3: Pengurusan Memori
Salah satu faedah utama menggunakan std::array ialah ia menyediakan pengurusan memori yang mudah dan cekap. Ini bermakna bahawa tidak ada keperluan untuk peruntukan memori manual atau deallocation.
4: Semakan Terikat Automatik
Hakikat bahawa std::array menawarkan pemeriksaan sempadan automatik ke atas tatasusunan gaya C adalah salah satu kelebihan utamanya. Ini bermakna jika program cuba mengakses elemen di luar julat yang ditentukan tatasusunan, pengkompil akan menghasilkan ralat. Limpahan penimbal, kesalahan pembahagian dan kebocoran memori hanyalah beberapa daripada isu pengaturcaraan yang kerap yang boleh dielakkan oleh pemeriksaan terikat.
5: Menyediakan Fungsi Berguna
std::array menawarkan beberapa fungsi berguna, seperti iterator, size(), front(), back(), fill(), dan at(), yang merupakan satu lagi kelebihan. Fungsi ini memudahkan untuk memanipulasi elemen tatasusunan tanpa memerlukan kod yang kompleks dan mudah ralat. Iterator, sebagai contoh, memudahkan untuk menavigasi antara elemen tatasusunan, dan kaedah fill() membolehkan anda memberikan satu nilai kepada keseluruhan set elemen tatasusunan.
Kesimpulan
Dalam C++, the std::array kelas menawarkan cara praktikal untuk bekerja dengan tatasusunan bersaiz tetap, bersama-sama dengan beberapa fungsi berguna dan kelebihan keselamatan jenis dan julat. Untuk permulaan dan semakan sempadan, ia menyediakan sintaks yang lebih jelas dan mudah difahami, yang boleh membantu mengelakkan banyak kesilapan pengaturcaraan biasa. Untuk kebanyakan situasi apabila tatasusunan bersaiz tetap mesti digunakan, penggunaan std::array dinasihatkan kerana ia menyediakan kaedah yang lebih terkini dan selamat untuk memanipulasinya.