Article ID: 158092
Article Last Modified on 7/14/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++ .NET 2002 Standard Edition
- Microsoft Visual C++ .NET 2003 Standard Edition
This article was previously published under Q158092
SUMMARY
The sample code below illustrates how to use the list::insert STL function in Visual C++.
MORE INFORMATION
Required header
<list>
Prototype
iterator insert(iterator it, const T& x = T()); void insert(iterator it, size_type n, const T& x); void insert(iterator it, const_iterator first, const_iterator last); void insert(iterator it, const T *first, const T *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 the member functions inserts, after the element pointed to by it in the controlled sequence, a sequence specified by the remaining operands. 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 last two member functions insert the sequence [first, last).
Sample code
////////////////////////////////////////////////////////////////////// // // Compile options needed: -GX // // insert.cpp : Shows the various ways to insert elements into a // list<T>. // // Functions: // // list::insert // // Written by Andrew Bradnan // Copyright (c) 1996 Microsoft Corporation. All rights reserved. ////////////////////////////////////////////////////////////////////// #include <list> #include <iostream> using namespace std; #if _MSC_VER > 1020 // if VC++ version is > 4.2 using namespace std; // std c++ libs implemented in std #endif typedef list<int, allocator<int> > LISTINT; void main() { int rgTest1[] = {5,6,7}; int rgTest2[] = {10,11,12}; LISTINT listInt; LISTINT listAnother; LISTINT::iterator i; // Insert one at a time listInt.insert (listInt.begin(), 2); listInt.insert (listInt.begin(), 1); listInt.insert (listInt.end(), 3); // 1 2 3 for (i = listInt.begin(); i != listInt.end(); ++i) cout << *i << " "; cout << endl; // Insert 3 fours listInt.insert (listInt.end(), 3, 4); // 1 2 3 4 4 4 for (i = listInt.begin(); i != listInt.end(); ++i) cout << *i << " "; cout << endl; // Insert an array in there listInt.insert (listInt.end(), rgTest1, rgTest1 + 3); // 1 2 3 4 4 4 5 6 7 for (i = listInt.begin(); i != listInt.end(); ++i) cout << *i << " "; cout << endl; // Insert another LISTINT listAnother.insert (listAnother.begin(), rgTest2, rgTest2+3); listInt.insert (listInt.end(), listAnother.begin(), listAnother.end()); // 1 2 3 4 4 4 5 6 7 10 11 12 for (i = listInt.begin(); i != listInt.end(); ++i) cout << *i << " "; cout << endl; }
Program Output is as follows:
1 2 3 1 2 3 4 4 4 1 2 3 4 4 4 5 6 7 1 2 3 4 4 4 5 6 7 10 11 12
REFERENCES
For more information about list::insert, visit the following Microsoft Developer Network (MSDN) Web site:
Additional query words: STL STLSample list::insert
Keywords: kbhowto kbinfo kbstl kbcode kbfunctions KB158092