我对C++模板模板参数的语法感到困惑。尽管我理解了它们的有用性,正如这里优秀的描述一样,但我仍然觉得它们的语法难以理解。以下是来自上述网站的两个示例(还有其他示例):
template <typename T, template <typename> class Cont>
class Stack;
并且
template <template <typename,typename> class Cont>
class Wrapper3;
显然,如果没有理解这种语法背后的原理,就不可能概括这些声明。记忆更难,并且似乎没有太大帮助。
编辑: 我意识到我的问题尝试看起来像一个观察。我想要的是帮助如何用日常语言解释C++模板模板参数的语法。我可以使用C++语法和所有其他我学过的编程语言来做到这一点。然而,我很难“解释”C++模板模板参数的语法给自己听。我已经找到了一本书,“C++ templates : the complete guide” by David Vandevoorde and Nicolai M. Josuttis,虽然这是一本不错的书,但对于我理解这种语法并没有太大帮助,我相信许多人会认为这种语法最多是古怪的。