Das Array ist eine Sammlung homogener Objekte und dieser Array-Container ist für Arrays mit konstanter Größe oder (statische Größe) definiert. Dieser Container umschließt Arrays fester Größe und die Informationen über seine Größe gehen nicht verloren, wenn er an einen Zeiger deklariert wird.
Um Arrays nutzen zu können, müssen wir den Array-Header einbinden:
#include>
Sehen wir uns ein Beispiel an.
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>or1{{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;> }> |
>
>Ausgabe:
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>
Dieses C++-STL-Array ist eine Art sequenzieller Container und wird in der regulären Programmierung oder in der Wettbewerbsprogrammierung nicht häufig verwendet, aber manchmal bietet ihm seine Mitgliedsfunktion einen Vorteil gegenüber dem regulären normalen Array, das wir in unserem täglichen Leben verwenden. Daher besprechen wir einige der wichtigen Mitgliedsfunktionen, die mit einem solchen Array verwendet werden:
Mitgliedsfunktionen für Array-Vorlagen sind wie folgt:
Syntax: Array arr_name;
a) [ ] Operator : Dies ähnelt dem normalen Array. Wir verwenden es, um auf den Elementspeicher am Index „i“ zuzugreifen.
Ex:
C++
Wie viele MB sind in einem GB?
#include> #include> using> namespace> std;> int> main() {> >array <>char> , 3>arr={>'G'>,>'f'>,>'G'>};> >cout< ' '< return 0; }> |
>
>Ausgabe
G G>
b) front( ) und back( ) Funktion: Mit diesen Methoden kann direkt auf das erste und letzte Element des Arrays zugegriffen werden.
C++
#include> #include> using> namespace> std;> int> main() {> >array <>int> , 3>arr={>'G'>,>'f'>,>'G'>};>// ASCII val of 'G' =71> >cout< ' '< return 0; }> |
>
>Ausgabe
71 71>
c) swap( )-Funktion: Diese Swap-Funktion wird verwendet, um den Inhalt der beiden Arrays auszutauschen.
Ex:
C++
#include> #include> using> namespace> std;> int> main() {> >array <>int> , 3>arr={>'G'>,>'f'>,>'G'>};>// ASCII val of 'G' =71> >array <>int> , 3>arr1={>'M'>,>'M'>,>'P'>};>// ASCII val of 'M' = 77 and 'P' = 80> >arr.swap(arr1);>// now arr = {M,M,P}> >cout< ' '< return 0; }> |
>
>Ausgabe
77 80>
d) empty( )-Funktion: Mit dieser Funktion wird überprüft, ob das deklarierte STL-Array leer ist oder nicht. Wenn es leer ist, gibt es „true“ zurück, andernfalls „false“.
Ex:
C++
#include> #include> using> namespace> std;> int> main() {> >array <>int> , 3>arr={>'G'>,>'f'>,>'G'>};>// ASCII val of 'G' =71> >array <>int> , 3>arr1={>'M'>,>'M'>,>'P'>};>// ASCII val of 'M' = 77 and 'P' = 80> >bool> x = arr.empty();>// false ( not empty)> >cout< return 0; }> |
>
>Ausgabe
false>
e) at( )-Funktion: Diese Funktion wird verwendet, um auf das an einem bestimmten Ort gespeicherte Element zuzugreifen. Wenn wir versuchen, auf das Element zuzugreifen, das außerhalb der Grenzen der Array-Größe liegt, wird eine Ausnahme ausgelöst.
Ex:
C++
#include> #include> using> namespace> std;> int> main() {> >array <>int> , 3>arr={>'G'>,>'f'>,>'G'>};>// ASCII val of 'G' =71> >array <>int> , 3>arr1={>'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;> }> |
>
>Ausgabe
71 80>
f) fill( )-Funktion: Dies wird speziell verwendet, um alle Indizes des Arrays mit einem ähnlichen Wert zu initialisieren oder zu füllen.
Ex:
C++
Wie bekomme ich Apfel-Emojis auf Android?
#include> #include> using> namespace> std;> int> main() {> >array <>int> , 5>arr;> >arr.fill(1);> >for>(>int> i: arr)> >cout< ' '; return 0; }> |
>
>Ausgabe
1 1 1 1 1>
g) size( ) oder max_size( ) und sizeof( ) Funktion: Sowohl size( ) als auch max_size( ) werden verwendet, um die maximale Anzahl von Indizes im Array zu ermitteln, während sizeof( ) verwendet wird, um die Gesamtgröße des Arrays in Bytes zu ermitteln.
C++
#include> #include> using> namespace> std;> int> main() {> >array <>int> , 10>arr;> >cout< '
'; // total num of indexes cout< '
'; // total num of indexes cout< |
>
>Ausgabe
10 10 40>
h) Daten( ): Diese Funktion gibt den Zeiger auf das erste Element des Array-Objekts zurück. Weil Elemente im Array an zusammenhängenden Speicherorten gespeichert werden. Diese data( )-Funktion gibt uns die Basisadresse des Objekts vom Typ String/Char zurück.
Ex:
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;> }> |
>
>
techcodeview.com>
I) cbegin( ) und cend( ): Gehen Sie zu diesem gfg-Link: Klick mich