Freigeben über


array Klasse (C++-Standardbibliothek)

Beschreibt ein Objekt, das eine Sequenz der Länge N aus Elementen des Typs Ty steuert. Die Sequenz ist als ein Array von Ty gespeichert, das im array<Ty, N>-Objekt enthalten ist.

Syntax

template <class Ty, std::size_t N>
class array;

Parameter

Ty
Der Typ eines Elements.

N
Die Anzahl der Elemente.

Member

Typendefinition Beschreibung
const_iterator Der Typ eines konstanten Iterators für die gesteuerte Sequenz.
const_pointer Der Typ eines konstanten Zeigers auf ein Element.
const_reference Der Typ eines konstanten Verweises auf ein Element.
const_reverse_iterator Der Typ eines konstanten umgekehrten Iterators für die gesteuerte Sequenz.
difference_type Der Typ eines Abstands mit Vorzeichen zwischen zwei Elementen.
iterator Der Typ eines Iterators für die gesteuerte Sequenz.
pointer Der Typ eines Zeigers auf ein Element.
reference Der Typ eines Verweises auf ein Element.
reverse_iterator Der Typ eines umgekehrten Iterators für die gesteuerte Sequenz.
size_type Der Typ eines Abstands ohne Vorzeichen zwischen zwei Elementen.
value_type Der Typ eines Elements.
Memberfunktion Beschreibung
array Erstellt ein Arrayobjekt.
assign (Veraltet. Verwenden Sie fill.) Ersetzt alle Elemente.
at Greift auf ein Element an einer angegebenen Position zu.
back Greift auf das letzte Element zu.
begin Legt den Anfang der kontrollierten Sequenz fest.
cbegin Gibt einen für wahlfreien Zugriff eingerichteten konstanten Iterator auf das erste Element im Vektor zurück.
cend Gibt einen für wahlfreien Zugriff eingerichteten konstanten Iterator zurück, der unmittelbar hinter das Ende des Vektors zeigt.
crbegin Gibt einen konstanten Iterator zum ersten Element in einem umgekehrten Array zurück.
crend Gibt einen konstanten Iterator auf das Ende eines umgekehrten Arrays zurück.
data Ruft die Adresse des ersten Elements ab.
empty Testet, ob Elemente vorhanden sind.
end Legt das Ende der kontrollierten Sequenz fest.
fill Ersetzt alle Elemente durch einen angegebenen Wert.
front Greift auf das erste Element zu.
max_size Ermittelt die Anzahl von Elementen.
rbegin Legt den Anfang der umgekehrten kontrollierten Sequenz fest.
rend Legt das Ende der umgekehrten kontrollierten Sequenz fest.
size Ermittelt die Anzahl von Elementen.
swap Vertauscht den Inhalt von zwei Containern.
Operator Beschreibung
array::operator= Ersetzt die kontrollierte Sequenz.
array::operator[] Greift auf ein Element an einer angegebenen Position zu.

Hinweise

Der Typ hat einen Standardkonstruktor array() und einen Standardzuweisungsoperator operator= und erfüllt die Anforderungen für ein aggregate. Daher können Objekte des Typs array<Ty, N> über einen Aggregatinitialisierer initialisiert werden. Beispiel:

array<int, 4> ai = { 1, 2, 3 };

erstellt das Objekt ai, das vier ganzzahlige Werte enthält, initialisiert die ersten drei Elemente mit den Werten 1, 2 und 3 und das vierte Element mit 0.

Anforderungen

Header: <array>

Namespace:std

array::array

Erstellt ein Arrayobjekt.

array();

array(const array& right);

Parameter

right
Einzufügendes Objekt bzw. einzufügender Bereich.

Hinweise

Der Standardkonstruktor array() bewirkt, dass die kontrollierte Sequenz nicht initialisiert (oder standardmäßig initialisiert) wird. Sie können ihn verwenden, um eine nicht initialisierte kontrollierte Sequenz festzulegen.

Der Kopierkonstruktor array(const array& right) initialisiert mit der Sequenz (right.begin(), right.end()) die kontrollierte Sequenz. Sie verwenden es, um eine anfängliche kontrollierte Sequenz anzugeben, die eine Kopie der Sequenz ist, die vom Arrayobjekt rightgesteuert wird.

Beispiel

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    Myarray c1(c0);

    // display contents " 0 1 2 3"
    for (const auto& it : c1)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    return (0);
}
0 1 2 3
0 1 2 3

array::assign

Veraltet in C++11, ersetzt durch fill. Ersetzt alle Elemente.

array::at

Greift auf ein Element an einer angegebenen Position zu.

reference at(size_type off);

constexpr const_reference at(size_type off) const;

Parameter

off
Position des Elements, auf das zugegriffen wird

Hinweise

Die Memberfunktionen geben einen Verweis auf das Element der kontrollierten Sequenz an der Position off zurück. Wenn diese Position ungültig ist, löst die Funktion ein Objekt der out_of_range-Klasse aus.

Beispiel

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display odd elements " 1 3"
    std::cout << " " << c0.at(1);
    std::cout << " " << c0.at(3);
    std::cout << std::endl;

    return (0);
}

array::back

Greift auf das letzte Element zu.

reference back();

constexpr const_reference back() const;

Hinweise

Die Memberfunktionen geben einen Verweis auf das letzte Element der kontrollierten Sequenz zurück, die nicht leer sein darf.

Beispiel

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display last element " 3"
    std::cout << " " << c0.back();
    std::cout << std::endl;

    return (0);
}
0 1 2 3
3

array::begin

Legt den Anfang der kontrollierten Sequenz fest.

iterator begin() noexcept;
const_iterator begin() const noexcept;

Hinweise

Die Memberfunktionen geben einen Iterator mit wahlfreiem Zugriff zurück, der auf das erste Element der Sequenz zeigt (bzw. gerade über das Ende einer leeren Sequenz hinaus).

Beispiel

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display first element " 0"
    Myarray::iterator it2 = c0.begin();
    std::cout << " " << *it2;
    std::cout << std::endl;

    return (0);
}
0 1 2 3
0

array::cbegin

Gibt einen const-Iterator zurück, mit dem das erste Element im Bereich behandelt wird.

const_iterator cbegin() const noexcept;

Rückgabewert

Ein const-Random-Access-Iterator, der auf das erste Element des Bereichs zeigt oder die Position direkt hinter dem Ende eines leeren Bereichs (für einen leeren Bereich gilt cbegin() == cend()).

Hinweise

Mit dem Rückgabewert von cbegin, die Elemente im Bereich können nicht geändert werden.

Sie können diese Memberfunktion anstelle der begin()-Memberfunktion verwenden, um sicherzustellen, dass der Rückgabewert const_iterator ist. In der Regel wird sie mit dem auto Stichwort "Typabzug" verwendet, wie im folgenden Beispiel gezeigt. Im folgenden Beispiel ist Container ein beliebiger änderbarer (Nicht-const-)Container, der begin() und cbegin() unterstützt.

auto i1 = Container.begin();
// i1 is Container<T>::iterator
auto i2 = Container.cbegin();

// i2 is Container<T>::const_iterator

array::cend

Gibt einen const-Iterator zurück, der den Speicherort adressiert, der dem letzten Element eines Bereichs unmittelbar nachfolgt.

const_iterator cend() const noexcept;

Rückgabewert

Ein Random-Access-Iterator, der auf eine Position unmittelbar nach dem Ende des Bereichs verweist.

Hinweise

cend wird verwendet, um zu testen, ob ein Iterator das Ende seines Bereichs übergeben hat.

Sie können diese Memberfunktion anstelle der end()-Memberfunktion verwenden, um sicherzustellen, dass der Rückgabewert const_iterator ist. In der Regel wird sie mit dem auto Stichwort "Typabzug" verwendet, wie im folgenden Beispiel gezeigt. Im folgenden Beispiel ist Container ein beliebiger änderbarer (Nicht-const-)Container, der end() und cend() unterstützt.

auto i1 = Container.end();
// i1 is Container<T>::iterator
auto i2 = Container.cend();

// i2 is Container<T>::const_iterator

Der zurückgegebene cend Wert sollte nicht abgeleitet werden.

array::const_iterator

Der Typ eines konstanten Iterators für die gesteuerte Sequenz.

typedef implementation-defined const_iterator;

Hinweise

Der Typ beschreibt ein Objekt, das als Iterator für den konstanten zufälligen Zugriff für die kontrollierte Sequenz dienen kann.

Beispiel

#include <array>
#include <iostream>

typedef std::array<int, 4> MyArray;

int main()
{
    MyArray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    std::cout << "it1:";
    for (MyArray::const_iterator it1 = c0.begin();
        it1 != c0.end();
        ++it1) {
        std::cout << " " << *it1;
    }
    std::cout << std::endl;

    // display first element " 0"
    MyArray::const_iterator it2 = c0.begin();
    std::cout << "it2:";
    std::cout << " " << *it2;
    std::cout << std::endl;

    return (0);
}
it1: 0 1 2 3
it2: 0

array::const_pointer

Der Typ eines konstanten Zeigers auf ein Element.

typedef const Ty *const_pointer;

Hinweise

Der Typ beschreibt ein Objekt, das als konstanter Zeiger auf Elemente der Sequenz fungieren kann.

Beispiel

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display first element " 0"
    Myarray::const_pointer ptr = &*c0.begin();
    std::cout << " " << *ptr;
    std::cout << std::endl;

    return (0);
}
0 1 2 3
0

array::const_reference

Der Typ eines konstanten Verweises auf ein Element.

typedef const Ty& const_reference;

Hinweise

Der Typ beschreibt ein Objekt, das als Konstantenverweis für ein Element der gesteuerten Sequenz fungieren kann.

Beispiel

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display first element " 0"
    Myarray::const_reference ref = *c0.begin();
    std::cout << " " << ref;
    std::cout << std::endl;

    return (0);
}
0 1 2 3
0

array::const_reverse_iterator

Der Typ eines konstanten umgekehrten Iterators für die gesteuerte Sequenz.

typedef std::reverse_iterator<const_iterator> const_reverse_iterator;

Hinweise

Der Typ beschreibt ein Objekt, das als konstanter umgekehrter Iterator für die kontrollierte Sequenz fungieren kann.

Beispiel

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display last element " 3"
    Myarray::const_reverse_iterator it2 = c0.rbegin();
    std::cout << " " << *it2;
    std::cout << std::endl;

    return (0);
}
0 1 2 3
3

array::crbegin

Gibt einen konstanten Iterator zum ersten Element in einem umgekehrten Array zurück.

const_reverse_iterator crbegin() const;

Rückgabewert

Ein konstanter umgekehrter wahlfreier Zugriffsiterator, mit dem das erste Element in einem umgekehrten Array adressiert wird (bzw. mit dem das ehemals letzte Element im nicht umgekehrten Array adressiert wird).

Hinweise

Mit dem Rückgabewert des crbeginArrayobjekts kann das Arrayobjekt nicht geändert werden.

Beispiel

#include <array>
#include <iostream>

int main( )
{
   using namespace std;
   array<int, 2> v1 = {1, 2};
   array<int, 2>::iterator v1_Iter;
   array<int, 2>::const_reverse_iterator v1_rIter;

   v1_Iter = v1.begin( );
   cout << "The first element of array is "
        << *v1_Iter << "." << endl;

   v1_rIter = v1.crbegin( );
   cout << "The first element of the reversed array is "
        << *v1_rIter << "." << endl;
}
The first element of array is 1.
The first element of the reversed array is 2.

array::crend

Gibt einen konstanten Iterator zurück, der den Speicherort adressiert, der dem letzten Element in einem umgekehrten Array nachfolgt.

const_reverse_iterator crend() const noexcept;

Rückgabewert

Ein const_reverse-Iterator mit wahlfreiem Zugriff, der den Standort adressiert, der dem letzten Element in einem umgekehrten Array nachfolgt (der Speicherort, der dem ersten Element im nicht umgekehrten Array vorangegangen war).

Hinweise

crend wird mit einem umgekehrten Array verwendet, genau wie array::cend bei einem Array.

Mit dem Rückgabewert ( crend entsprechend dekrementiert) kann das Arrayobjekt nicht geändert werden.

crend kann verwendet werden, um zu testen, ob das Ende des Arrays von einem umgekehrten Iterator erreicht wurde.

Der zurückgegebene crend Wert sollte nicht abgeleitet werden.

Beispiel

#include <array>
#include <iostream>

int main( )
{
   using namespace std;
   array<int, 2> v1 = {1, 2};
   array<int, 2>::const_reverse_iterator v1_rIter;

   for ( v1_rIter = v1.rbegin( ) ; v1_rIter != v1.rend( ) ; v1_rIter++ )
      cout << *v1_rIter << endl;
}
2
1

array::data

Ruft die Adresse des ersten Elements ab.

Ty *data();

const Ty *data() const;

Hinweise

Die Memberfunktionen geben die Adresse des ersten Elements der kontrollierten Sequenz zurück.

Beispiel

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display first element " 0"
    Myarray::pointer ptr = c0.data();
    std::cout << " " << *ptr;
    std::cout << std::endl;

    return (0);
}
0 1 2 3
0

array::difference_type

Der Typ eines Abstands mit Vorzeichen zwischen zwei Elementen.

typedef std::ptrdiff_t difference_type;

Hinweise

Der Ganzzahltyp mit Vorzeichen beschreibt ein Objekt, das die Differenz zwischen den Adressen von zwei beliebigen Elementen in der gesteuerten Sequenz darstellen kann. Es ist ein Synonym für den Typ std::ptrdiff_t.

Beispiel

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display distance first-last " -4"
    Myarray::difference_type diff = c0.begin() - c0.end();
    std::cout << " " << diff;
    std::cout << std::endl;

    return (0);
}
0 1 2 3
-4

array::empty

Testet, ob keine Elemente vorhanden sind.

constexpr bool empty() const;

Hinweise

Die Memberfunktion gibt nur „true“ zurück, wenn N == 0 gilt.

Beispiel

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display whether c0 is empty " false"
    std::cout << std::boolalpha << " " << c0.empty();
    std::cout << std::endl;

    std::array<int, 0> c1;

    // display whether c1 is empty " true"
    std::cout << std::boolalpha << " " << c1.empty();
    std::cout << std::endl;

    return (0);
}
0 1 2 3
false
true

array::end

Legt das Ende der kontrollierten Sequenz fest.

reference end();

const_reference end() const;

Hinweise

Die Memberfunktionen geben einen Iterator mit wahlfreiem Zugriff zurück, der direkt hinter das Ende der Sequenz verweist.

Beispiel

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display last element " 3"
    Myarray::iterator it2 = c0.end();
    std::cout << " " << *--it2;
    std::cout << std::endl;

    return (0);
}
0 1 2 3
3

array::fill

Löscht ein Array und kopiert die angegebenen Elemente in das leere Array.

void fill(const Type& val);

Parameter

val
Der Wert des Elements, das in das Array eingefügt wird.

Hinweise

fill ersetzt jedes Element des Arrays mit dem angegebenen Wert.

Beispiel

#include <array>
#include <iostream>

int main()
{
    using namespace std;
    array<int, 2> v1 = { 1, 2 };

    cout << "v1 = ";
    for (const auto& it : v1)
    {
        std::cout << " " << it;
    }
    cout << endl;

    v1.fill(3);
    cout << "v1 = ";
    for (const auto& it : v1)
    {
        std::cout << " " << it;
    }
    cout << endl;
}

array::front

Greift auf das erste Element zu.

reference front();

constexpr const_reference front() const;

Hinweise

Die Memberfunktionen geben einen Verweis auf das erste Element der kontrollierten Sequenz zurück, das nicht leer sein darf.

Beispiel

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display first element " 0"
    std::cout << " " << c0.front();
    std::cout << std::endl;

    return (0);
}
0 1 2 3
0

array::iterator

Der Typ eines Iterators für die gesteuerte Sequenz.

typedef implementation-defined iterator;

Hinweise

Der Typ beschreibt ein Objekt, das als Iterator für zufälligen Zugriff für die gesteuerte Sequenz fungieren kann.

Beispiel

#include <array>
#include <iostream>

typedef std::array<int, 4> MyArray;

int main()
{
    MyArray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    std::cout << "it1:";
    for (MyArray::iterator it1 = c0.begin();
        it1 != c0.end();
        ++it1) {
        std::cout << " " << *it1;
    }
    std::cout << std::endl;

    // display first element " 0"
    MyArray::iterator it2 = c0.begin();
    std::cout << "it2:";
    std::cout << " " << *it2;
    std::cout << std::endl;

    return (0);
}
it1: 0 1 2 3

it2: 0

array::max_size

Ermittelt die Anzahl von Elementen.

constexpr size_type max_size() const;

Hinweise

Die Memberfunktion gibt N zurück.

Beispiel

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display (maximum) size " 4"
    std::cout << " " << c0.max_size();
    std::cout << std::endl;

    return (0);
}
0 1 2 3
4

array::operator[]

Greift auf ein Element an einer angegebenen Position zu.

reference operator[](size_type off);

constexpr const_reference operator[](size_type off) const;

Parameter

off
Position des Elements, auf das zugegriffen wird

Hinweise

Die Memberfunktionen geben einen Verweis auf das Element der kontrollierten Sequenz an der Position off zurück. Wenn diese Position ungültig ist, ist das Verhalten nicht definiert.

Es ist auch eine Nicht-Member-Funktion get verfügbar, um einen Verweis auf ein Element eines Elements arrayabzurufen.

Beispiel

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display odd elements " 1 3"
    std::cout << " " << c0[1];
    std::cout << " " << c0[3];
    std::cout << std::endl;

    return (0);
}
0 1 2 3
1 3

array::operator=

Ersetzt die kontrollierte Sequenz.

array<Value> operator=(array<Value> right);

Parameter

right
Der zu kopierende Container.

Hinweise

Der Memberoperator weist jedem Element von right einem entsprechenden Element der kontrollierten Sequenz zu und gibt dann *this zurück. Sie können ihn verwenden, um die kontrollierte Sequenz durch eine Kopie der kontrollierten Sequenz in right zu ersetzen.

Beispiel

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    Myarray c1;
    c1 = c0;

    // display copied contents " 0 1 2 3"
        // display contents " 0 1 2 3"
    for (auto it : c1)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    return (0);
}
0 1 2 3
0 1 2 3

array::pointer

Der Typ eines Zeigers auf ein Element.

typedef Ty *pointer;

Hinweise

Der Typ beschreibt ein Objekt, das als Zeiger auf Elemente der Sequenz fungieren kann.

Beispiel

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display first element " 0"
    Myarray::pointer ptr = &*c0.begin();
    std::cout << " " << *ptr;
    std::cout << std::endl;

    return (0);
}
0 1 2 3
0

array::rbegin

Legt den Anfang der umgekehrten kontrollierten Sequenz fest.

reverse_iterator rbegin()noexcept;
const_reverse_iterator rbegin() const noexcept;

Hinweise

Die Memberfunktionen geben einen Rückwärtsiterator zurück, der an einen Punkt direkt hinter dem Ende der Sequenz verweist. Also wird damit der Anfang umgekehrten Sequenz angegeben.

Beispiel

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display last element " 3"
    Myarray::const_reverse_iterator it2 = c0.rbegin();
    std::cout << " " << *it2;
    std::cout << std::endl;

    return (0);
}
0 1 2 3
3

array::reference

Der Typ eines Verweises auf ein Element.

typedef Ty& reference;

Hinweise

Der Typ beschreibt ein Objekt, das als Verweis auf ein Element der gesteuerten Sequenz fungieren kann.

Beispiel

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display first element " 0"
    Myarray::reference ref = *c0.begin();
    std::cout << " " << ref;
    std::cout << std::endl;

    return (0);
}
0 1 2 3
0

array::rend

Legt das Ende der umgekehrten kontrollierten Sequenz fest.

reverse_iterator rend()noexcept;
const_reverse_iterator rend() const noexcept;

Hinweise

Die Memberfunktionen geben einen umgekehrten Iterator zurück, der auf das erste Element der Sequenz zeigt (bzw. gerade über das Ende einer leeren Sequenz hinaus). Also wird damit das Ende der umgekehrten Sequenz angegeben.

Beispiel

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display first element " 0"
    Myarray::const_reverse_iterator it2 = c0.rend();
    std::cout << " " << *--it2;
    std::cout << std::endl;

    return (0);
}
0 1 2 3
0

array::reverse_iterator

Der Typ eines umgekehrten Iterators für die gesteuerte Sequenz.

typedef std::reverse_iterator<iterator> reverse_iterator;

Hinweise

Beschreibt ein Objekt, das als umgekehrter Iterator für die gesteuerte Sequenz fungieren kann.

Beispiel

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display last element " 3"
    Myarray::reverse_iterator it2 = c0.rbegin();
    std::cout << " " << *it2;
    std::cout << std::endl;

    return (0);
}
0 1 2 3
3

array::size

Ermittelt die Anzahl von Elementen.

constexpr size_type size() const;

Hinweise

Die Memberfunktion gibt N zurück.

Beispiel

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display size " 4"
    std::cout << " " << c0.size();
    std::cout << std::endl;

    return (0);
}
0 1 2 3
4

array::size_type

Der Typ eines Abstands ohne Vorzeichen zwischen zwei Elementen.

typedef std::size_t size_type;

Hinweise

Der unsignierte Ganzzahltyp beschreibt ein Objekt, das die Länge jeder kontrollierten Sequenz darstellen kann. Es ist ein Synonym für den Typ std::size_t.

Beispiel

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display distance last-first " 4"
    Myarray::size_type diff = c0.end() - c0.begin();
    std::cout << " " << diff;
    std::cout << std::endl;

    return (0);
}
0 1 2 3
4

array::swap

Tauscht den Inhalt dieses Arrays mit dem eines anderen aus.

void swap(array& right);

Parameter

right
Container für den Tausch von Inhalten.

Hinweise

Die Memberfunktion wechselt die gesteuerten Sequenzen zwischen *this und rechts. Es führt Elementzuweisungen und Konstruktoraufrufe proportional zu N.

Es ist auch eine Nicht-Member-Funktion swap verfügbar, um zwei array Instanzen auszutauschen.

Beispiel

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    Myarray c1 = { 4, 5, 6, 7 };
    c0.swap(c1);

    // display swapped contents " 4 5 6 7"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    swap(c0, c1);

    // display swapped contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    return (0);
}
0 1 2 3
4 5 6 7
0 1 2 3

array::value_type

Der Typ eines Elements.

typedef Ty value_type;

Hinweise

Der Type stellt ein Synonym für den Vorlagenparameter Tydar.

Beispiel

#include <array>
#include <iostream>

typedef std::array<int, 4> Myarray;
int main()
{
    Myarray c0 = { 0, 1, 2, 3 };

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        std::cout << " " << it;
    }
    std::cout << std::endl;

    // display contents " 0 1 2 3"
    for (const auto& it : c0)
    {
        Myarray::value_type val = it;
        std::cout << " " << val;
    }
    std::cout << std::endl;

    return (0);
}
0 1 2 3
0 1 2 3

Siehe auch

<array>