Microsoft KB Archive/158092

= How to use the list::insert Standard Template Library (STL) function in Visual C++ =

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</li></ul>

 Microsoft Visual C++ 5.0 Professional Edition</li></ul>

 Microsoft Visual C++ 6.0 Professional Edition</li></ul>

 Microsoft Visual C++ 6.0 Standard Edition</li></ul> </li> Microsoft Visual C++ .NET 2002 Standard Edition</li> Microsoft Visual C++ .NET 2003 Standard Edition</li></ul>

-

<div class="notice_section">

This article was previously published under Q158092

<div class="summary_section">

SUMMARY
The sample code below illustrates how to use the list::insert STL function in Visual C++.

<div class="moreinformation_section">

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 #include using namespace std;

using namespace std; // std c++ libs implemented in std #endif
 * 1) if _MSC_VER > 1020  // if VC++ version is > 4.2

typedef list<int, allocator > 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

<div class="references_section">