template <template<class, class > class C, typename T>
#include <iostream>#include <vector>using namespace std;// std::allocator<T>template <template<class, class > class C, typename T>void test(C<T,std::allocator<T> >& A, T x, int N){ T v; v=A[0]*x; cout<<v<<endl;}/** 可以看出,是这个好 */template <class C, typename T>void test2(C& A, T x, int N){ T v; v=A[0]*x; cout<<v<<endl;}int main(){ vector<float> A(5,4); test(A, 3.0f, 3); test2(A, 3.0f, 3); return 0;}更多讨论:
http://stackoverflow.com/questions/213761/what-are-some-uses-of-template-template-parameters-in-c