list-push_back

////////////////////////////////////////
//      2018/04/26 11:14:53
//      list-push_back

// add an element to the end of the list

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

using namespace std;

template<class T>
class Name{
private:
    T first;
    T last;
public:
    Name(T f, T l) :first(f), last(l){};
    void print(){
        cout.setf(ios::left);
        cout << setw(15) << first << " " << last << endl;
    }
};

//========================================
int main(){
    typedef Name<string> N;
    typedef list<N> L;
    L l;
    L::iterator it;
    N n1(string("Albert"), string("Johnson"));
    N n2("Lana","Vinokur");

    l.push_back(n1);
    l.push_back(n2);

    // unnamed object
    l.push_back(N("Linda","Bain"));

    it = l.begin();

    while (it != l.end()){
        (it++)->print();
    }
    cout << endl;
    return 0;
}


/*
OUTPUT:
    Albert          Johnson
    Lana            Vinokur
    Linda           Bain
*/ 
原文地址:https://www.cnblogs.com/laohaozi/p/12537950.html