different class implementations based on template parameter
问题 I suppose this is trivial for people who know templates... Suppose we want two different implementations of this template class, depending on the value of N: template <int N> class Foo { ... }; For example: template <int N> class Foo { ... // implementation for N <= 10 }; template <int N> class Foo { ... // implementation for N > 10 }; How can we do that in C++11? 回答1: Use an extra template parameter with a default value to distinguish cases: template <int N, bool b = N <= 10> class Foo;