STL Sample for deque::operator[] and deque::at FunctionsLast reviewed: October 9, 1997Article ID: Q156902 |
The information in this article applies to:
SUMMARYThe sample code below illustrates how to use the deque::operator[], deque::at, deque::empty, deque::push_back, and deque::end, STL functions in Visual C++.
MORE INFORMATION
Required Header
< deque> Prototype
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;NOTE: The class/parameter names in the prototype may not match the version in the header file. Some have been modified to improve readability.
DescriptionThe member function operator[] returns a reference to the element of the controlled sequence at position pos. If that position is invalid, the behavior is undefined. The member function at returns a reference to the element of the controlled sequence at position pos. If that position is invalid, the function throws an object of class out_of_range. The member function empty returns true for an empty controlled sequence.
Sample Code
////////////////////////////////////////////////////////////////////// // // Compile options needed: -GX // // deque.cpp : // // Functions: // // operator[] // at // empty // push_back // begin // end // // Written by Bobby Mattappally // of Microsoft Product Support Services, // Copyright (c) 1996 Microsoft Corporation. All rights reserved. ////////////////////////////////////////////////////////////////////// /* Compile options needed:-GX */ #include <iostream> #include <deque>typedef deque<char, allocator<char> > CHARDEQUE; void print_contents (CHARDEQUE deque, char*); void 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;} Program Output is: a is empty a is not empty The contents of a : A B C D The first element of a is A The first element of a is A The last element of a is D The last element of a is D
REFERENCESVisual C++ Books On Line: Visual C++ Books:C/C++:Standard C++ Library Reference.
|
Additional query words: STL STLSample deque operator[] at empty push_back
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |