#include<iostream>
#include<list>
#include<string>
using std::string;
using std::list;
using std::allocator;
using std::cout;
using std::endl;
template<typename T,
/*
* template<typename T> 会出错,但是看书上有这么写的;
* template<typename TT> 也可以成功, 但TT似乎没用;
* */
template <typename>
class Container
>
class XCls
{
public:
Container<T> c;
};
template<typename T> using Lst = list<T, allocator<T>>;
int main(int argc, char* argv[])
{
XCls<string, Lst> myLst1;
myLst1.c.push_back("1");
myLst1.c.push_back("2");
}