Usare la funzione STL list::list in Visual C++
Questo articolo illustra come usare la list::list
funzione STL in Visual C++.
Versione originale del prodotto: Visual C++
Numero KB originale: 158091
Intestazione obbligatoria
<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
I nomi di classe/parametro nel prototipo potrebbero non corrispondere alla versione nel file di intestazione. Alcuni sono stati modificati per migliorare la leggibilità.
Descrizione
Il primo costruttore specifica una sequenza controllata iniziale vuota. Il secondo costruttore specifica una ripetizione di n
elementi di valore x
. Il terzo costruttore specifica una copia della sequenza controllata da x
. L'ultimo costruttore specifica la sequenza (first
, last
). Tutti i costruttori archivia l'oggetto al
allocatore o per il costruttore di copia, x.get_allocator()
, in allocatore e inizializzano la sequenza controllata.
Codice di esempio
//////////////////////////////////////////////////////////////////////
// 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;
}
L'output del programma è:
one two
one two
three three three
three three
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per