Sdílet prostřednictvím


deque::operator a deque::at

Znázorňuje použití [deque::operator] a deque::at funkce standardní šablonu knihovny (STL) v jazyce C++.

const_reference operator[](
   size_type Pos
) const;
reference operator[](
   size_type Pos
);
const_reference operator[](
   difference_type _N
) const;
reference operator[](
   difference_type _N
) const;
const_reference at(
   size_type Pos
) const;
reference at(
   size_type Pos
); bool empty( ) const;

Poznámky

[!POZNÁMKA]

Názvy tříd/parametr v prototyp verze v záhlaví souboru neodpovídají.Některé byly upraveny, aby se zlepšila čitelnost.

[] Operátor členské funkce vrací odkaz na prvek řízené sekvence na pozici Pos.Tato pozice je neplatný, chování nedefinovaná.Na členské funkce vrací odkaz na prvek řízené sekvence na pozici Pos.Pokud tuto pozici je neplatná, vyvolá funkci objekt třídy out_of_range.Prázdné členské funkce vrátí true prázdné řízené sekvence.

Příklad

// operator.cpp
// compile with: /EHsc
//
// Functions:
//    operator[]
//    at
//    empty
//    push_back
//    begin
//    end

#include <iostream>
#include <deque>

using namespace std;


typedef deque<char >  CHARDEQUE;
void print_contents (CHARDEQUE  deque, char*);

int main()
{
    //create an empty deque a
    CHARDEQUE  a;

    //check whether it is empty
    if(a.empty())
        cout<<"a is empty"<<endl;
    else
        cout<<"a is not empty"<<endl;

    //inset A, B, C and D  to a
    a.push_back('A');
    a.push_back('B');
    a.push_back('C');
    a.push_back('D');

    //check again whether a is empty
    if(a.empty())
        cout<<"a is empty"<<endl;
    else
        cout<<"a is not empty"<<endl;

    //print out the contents

    print_contents (a,"a");

    cout <<"The first element of a is " <<a[0] <<endl;
    cout <<"The first element of a is " <<a.at(0) <<endl;

    cout <<"The last element of a is " <<a[a.size()-1] <<endl;
    cout <<"The last element of a is " <<a.at(a.size()-1) <<endl;
}

//function to print the contents of deque
void print_contents (CHARDEQUE  deque, char *name)
{
    CHARDEQUE::iterator pdeque;

    cout <<"The contents of "<< name <<" :";

    for(pdeque = deque.begin();
        pdeque != deque.end();
        pdeque++)
        {
            cout <<" "  << *pdeque;
        }
    cout<<endl;
}
  

Požadavky

Záhlaví: < deque >

Viz také

Koncepty

Standardní šablona knihovny vzorků