Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este artículo se muestra cómo usar la list::list
función STL en Visual C++.
Versión original del producto: Visual C++
Número de KB original: 158091
Encabezado obligatorio
<list>
Prototipo
explicit list(const A& al = A());
explicit list(size_type n, const T& v = T(), const A& al = A());
list(const list& x);
list(const_iterator first, const_iterator last, const A& al = A());
Nota:
Es posible que los nombres de clase o parámetro del prototipo no coincidan con la versión del archivo de encabezado. Algunas se han modificado para mejorar la legibilidad.
Descripción
El primer constructor especifica una secuencia controlada inicial vacía. El segundo constructor especifica una repetición de n
elementos de valor x
. El tercer constructor especifica una copia de la secuencia controlada por x
. El último constructor especifica la secuencia (first
, last
). Todos los constructores almacenan el objeto al
de asignador , o para el constructor de copia, x.get_allocator()
, en el asignador e inicializan la secuencia controlada.
Código de ejemplo
//////////////////////////////////////////////////////////////////////
// Compile options needed: -GX
// list.cpp : demonstrates the different constructors for list<T>
// Functions:
// list::list
// Copyright (c) 1996 Microsoft Corporation. All rights reserved.
//////////////////////////////////////////////////////////////////////
#include <list>
#include <string>
#include <iostream>
#if _MSC_VER > 1020 // if VC++ version is > 4.2
using namespace std; // std c++ libs implemented in std
#endif
typedef list<string, allocator<string> > LISTSTR;
// Try each of the four constructors
void main()
{
LISTSTR::iterator i;
LISTSTR test; // default constructor
test.insert(test.end(), "one");
test.insert(test.end(), "two");
LISTSTR test2(test); // construct from another list
LISTSTR test3(3, "three"); // add several <T>'s
LISTSTR test4(++test3.begin(), // add part of another list
test3.end());
// Print them all out
// one two
for (i = test.begin(); i != test.end(); ++i)
cout << *i << " ";
cout << endl;
// one two
for (i = test2.begin(); i != test2.end(); ++i)
cout << *i << " ";
cout << endl;
// three three three
for (i = test3.begin(); i != test3.end(); ++i)
cout << *i << " ";
cout << endl;
// three three
for (i = test4.begin(); i != test4.end(); ++i)
cout << *i << " ";
cout << endl;
}
La salida del programa es:
one two
one two
three three three
three three