Article ID: 156589
Article Last Modified on 12/30/2005
APPLIES TO
- The Standard C++ Library, when used with:
- Microsoft Visual C++ 4.2 Enterprise Edition
- Microsoft Visual C++ 5.0 Enterprise Edition
- Microsoft Visual C++ 6.0 Enterprise Edition
- Microsoft Visual C++ 4.2 Professional Edition
- Microsoft Visual C++ 5.0 Professional Edition
- Microsoft Visual C++ 6.0 Professional Edition
- Microsoft Visual C++ 6.0 Standard Edition
- Microsoft Visual C++ 2005 Express Edition
- Microsoft Visual C++ .NET 2003 Standard Edition
- Microsoft Visual C++ .NET 2002 Standard Edition
This article was previously published under Q156589
SUMMARY
The sample code below illustrates how to use the deque::insert, begin, and end STL functions in Visual C++.
MORE INFORMATION
Required Header
<deque>
Prototype
iterator insert(iterator iter, const T& x = T()); void insert(iterator iter, size_type n, const T& x); void insert(iterator iter, const_iterator first,const_iterator last);
NOTE: The class/parameter names in the prototype may not match the version in the header file. Some have been modified to improve readability.
Description
Each of these functions inserts a sequence specified by the remaining operands after the element pointed to by iter in the container. The first member function inserts a single element with value x and returns an iterator that points to the newly inserted element. The second member function inserts a repetition of n elements of value x. The third member function inserts the sequence [first, last).
Sample Code
NOTE: In the first line of the sample code section, /GX is equivalent to /EHsc in Visual C++ .NET or Visual C++ 2005 and is set by default.
////////////////////////////////////////////////////////////////////// // // Compile options needed: -GX // // deque.cpp : // // Functions: // // insert // 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> #if _MSC_VER > 1020 // if VC++ version is > 4.2 using namespace std; // std c++ libs implemented in std #endif typedef deque<char, allocator<char> > CHARDEQUE; void print_contents (CHARDEQUE deque); void main() { //create a with 3 A's CHARDEQUE a(3,'A'); //create b with 2 B's. CHARDEQUE b(2,'B'); //print out the contents print_contents (a); print_contents (b); //insert 'X' to the beginning of a a.insert(a.begin(),'X'); print_contents (a); //insert 'Y' to the end of a a.insert(a.end(),'Y'); print_contents (a); //inset 3 'Z's to one item before the end of a a.insert(a.end()-1,3,'Z'); print_contents (a); //insert to the end of a from b a.insert(a.end(),b.begin(),b.end()); print_contents (a); } //function to print the contents of deque void print_contents (CHARDEQUE deque) { CHARDEQUE::iterator pdeque; cout <<"The output is: "; for(pdeque = deque.begin(); pdeque != deque.end(); pdeque++) { cout << *pdeque <<" " ; } cout<<endl; }
Program Output is:
The output is: A A A The output is: B B The output is: X A A A The output is: X A A A Y The output is: X A A A Z Z Z Y The output is: X A A A Z Z Z Y B B
REFERENCES
For more information about deque::insert, visit the following Microsoft Developer Network (MSDN) Web site:
For more information about deque::begin and end, visit the following MSDN Web site:
Additional query words: STL STLSample insert begin end
Keywords: kbhowto kbinfo kbcode KB156589