STD::tablica w C++

Tablica jest zbiorem jednorodnych obiektów, a ten kontener tablicy jest zdefiniowany dla tablic o stałym rozmiarze lub (rozmiar statyczny). Kontener ten otacza tablice o stałym rozmiarze, a informacja o jego rozmiarze nie zostaje utracona po zadeklarowaniu go na wskaźniku.
Aby móc korzystać z tablic, musimy dołączyć nagłówek tablicy:

 #include 

Zobaczmy przykład.

CPP




// CPP program to demonstrate working of array> #include> #include> #include> #include> #include> using> namespace> std;> int> main() {> > // construction uses aggregate initialization> > // double-braces required> > array <> int> , 5>lub1{{3, 4, 5, 1, 2}};> > array <> int> , 5>ar2 = {1, 2, 3, 4, 5};> > array ar3 = {{string(> 'a'> ),> 'b'> }};> > cout < <> 'Sizes of arrays are'> < < endl;> > cout < < ar1.size() < < endl;> > cout < < ar2.size() < < endl;> > cout < < ar3.size() < < endl;> > > cout < <> ' Initial ar1 : '> ;> > for> (> auto> i : ar1)> > cout < < i < <> ' '> ;> > // container operations are supported> > sort(ar1.begin(), ar1.end());> > cout < <> ' sorted ar1 : '> ;> > for> (> auto> i : ar1)> > cout < < i < <> ' '> ;> > // Filling ar2 with 10> > ar2.fill(10);> > cout < <> ' Filled ar2 : '> ;> > for> (> auto> i : ar2)> > cout < < i < <> ' '> ;> > // ranged for loop is supported> > cout < <> ' ar3 : '> ;> > for> (> auto> &s : ar3)> > cout < < s < <> ' '> ;> > return> 0;> }>

Wyjście:

Sizes of arrays are 5 5 2 Initial ar1 : 3 4 5 1 2 sorted ar1 : 1 2 3 4 5 Filled ar2 : 10 10 10 10 10 ar3 : a b 

Ta tablica C++ STL jest rodzajem kontenera sekwencyjnego i nie jest szczególnie używana w zwykłym programowaniu ani w programowaniu konkurencyjnym, ale czasami jej funkcja składowa zapewnia jej przewagę nad zwykłą normalną tablicą, której używamy w życiu codziennym. Omawiamy więc niektóre ważne funkcje składowe używane w tego rodzaju tablicach:

Funkcje członkowskie dla szablonu tablicy są następujące:

Składnia: tablica nazwa_arr;

a) [ ] Operator : Jest to podobne do zwykłej tablicy, używamy jej, aby uzyskać dostęp do magazynu elementów pod indeksem „i”.

Były:

C++




#include> #include> using> namespace> std;> int> main() {> > array <> char> , 3>arr={> 'G'> ,> 'f'> ,> 'G'> };> > cout < ' ' < return 0; }>

Wyjście

G G 

b) funkcja przód( ) i tył( ): Metody te służą do bezpośredniego dostępu do pierwszego i ostatniego elementu tablicy.

C++




#include> #include> using> namespace> std;> int> main() {> > array <> int> , 3>arr={> 'G'> ,> 'f'> ,> 'G'> };> // ASCII val of 'G' =71> > cout < ' ' < return 0; }>

Wyjście

71 71 

c) funkcja zamiany( ): Ta funkcja zamiany służy do zamiany zawartości dwóch tablic.

Były:

C++




#include> #include> using> namespace> std;> int> main() {> > array <> int> , 3>arr={> 'G'> ,> 'f'> ,> 'G'> };> // ASCII val of 'G' =71> > array <> int> , 3>tablica1={> 'M'> ,> 'M'> ,> 'P'> };> // ASCII val of 'M' = 77 and 'P' = 80> > arr.swap(arr1);> // now arr = {M,M,P}> > cout < ' ' < return 0; }>

Wyjście

77 80 

d) funkcja pusta( ): Ta funkcja służy do sprawdzenia, czy zadeklarowana tablica STL jest pusta, czy nie, jeśli jest pusta, zwraca wartość true, w przeciwnym razie false.

Były:

C++




#include> #include> using> namespace> std;> int> main() {> > array <> int> , 3>arr={> 'G'> ,> 'f'> ,> 'G'> };> // ASCII val of 'G' =71> > array <> int> , 3>tablica1={> 'M'> ,> 'M'> ,> 'P'> };> // ASCII val of 'M' = 77 and 'P' = 80> > bool> x = arr.empty();> // false ( not empty)> > cout < return 0; }>

Wyjście

false 

e) funkcja at( ): Ta funkcja służy do uzyskiwania dostępu do elementu przechowywanego w określonej lokalizacji. Jeśli spróbujemy uzyskać dostęp do elementu, który przekracza rozmiar tablicy, zgłasza wyjątek.

Były:

C++




#include> #include> using> namespace> std;> int> main() {> > array <> int> , 3>arr={> 'G'> ,> 'f'> ,> 'G'> };> // ASCII val of 'G' =71> > array <> int> , 3>tablica1={> 'M'> ,> 'M'> ,> 'P'> };> // ASCII val of 'M' = 77 and 'P' = 80> > cout < < arr.at(2) < <> ' '> < < arr1.at(2);> > //cout < < arr.at(3); // exception{Abort signal from abort(3) (SIGABRT)}> > return> 0;> }>

Wyjście

71 80 

f) funkcja fill( ): Jest to specjalnie używane do inicjowania lub wypełniania wszystkich indeksów tablicy podobną wartością.

Były:

C++




#include> #include> using> namespace> std;> int> main() {> > array <> int> , 5>arr;> > arr.fill(1);> > for> (> int> i: arr)> > cout < ' '; return 0; }>

Wyjście

1 1 1 1 1 

g) funkcja size( ) lub max_size( ) i sizeof( ): Zarówno size() jak i max_size() służą do uzyskania maksymalnej liczby indeksów w tablicy, natomiast sizeof() służy do uzyskania całkowitego rozmiaru tablicy w bajtach.

C++




#include> #include> using> namespace> std;> int> main() {> > array <> int> , 10>arr;> > cout < ' '; // total num of indexes cout < ' '; // total num of indexes cout <

Wyjście

10 10 40 

h) dane( ): Ta funkcja zwraca wskaźnik do pierwszego elementu obiektu tablicy. Ponieważ elementy tablicy są przechowywane w sąsiadujących lokalizacjach pamięci. Ta funkcja data() zwraca nam adres bazowy obiektu typu string/char.

Były:

C++




#include> #include> #include> using> namespace> std;> int> main ()> {> > const> char> * str => 'techcodeview.com'> ;> > array <> char> ,13>arr;> > memcpy> (arr.data(),str,13);> > cout < < arr.data() < <> ' '> ;> > return> 0;> }>


Wyjście

techcodeview.com 

I) cbegin( ) i cend( ): przejdź do tego łącza gfg: Kliknij