c++中list的基本用法

#include <iostream>
#include <list>
#include <string>

using namespace std;
template <typename T>
void Showlist(list<T> v)
{
    for(typename list<T>::iterator it = v.begin();it!=v.end();++it)
    {
        cout<<*it<<" ";
    }
    cout<<endl;
}

int main()
{
    int str[] = {1,2,3,14,5,6,7,8,9};
    list<int> l1(str,str+sizeof(str)/sizeof(int));
    Showlist(l1);
    string str2[] = {"huang","hus","dhud"};
    list<string> l2(str2,str2+sizeof(str2)/sizeof(string));
    Showlist(l2);
}


C++98中,list、vector、set、map均不能直接赋值,但可用上面的方法巧妙赋值

初始化方法
#include <iostream>
#include <list>
using namespace std;
int main () {
//第一种,通过构造函数
    int myints[] = {75,23,65,42,13};
    list<int> mylist1(myints, myints+5);
    list<int> mylist2(2,100);         // 2个值为100的元素
    //第二种,用push_back,或push_front
    for (int i = 1; i <= 5; ++i) mylist1.push_back(i);
    mylist2.push_front (200);
    mylist2.push_front (300);
    //第三种,用assign
    list<int> first;
    list<int> second;
    first.assign(7,100);                       // 给first添加7个值为100的元素
    second.assign(first.begin(), first.end()); // 复制first给second
    int myints[] = {16, 8, 4};
    first.assign (myints, myints + 3);         // 将数组myints的内容添加给first
 
    //第四种,见insert函数
    return 0;

后者摘自

;