将非专用模板作为模板参数传递
我可以做类似的事情吗
template<class Key, class Data, class Compare = less<Key>, template<typename T> class Allocator<T> = allocator<T> >
class mymap {
typedef map<Key,Data,Compare,Allocator<pair<const Key, Data> > > storageMap;
typedef vector<Data,Allocator<Data> > storageVector;
}
,所以模板被传递给非专业化的类并稍后实例化。
Can i do something like
template<class Key, class Data, class Compare = less<Key>, template<typename T> class Allocator<T> = allocator<T> >
class mymap {
typedef map<Key,Data,Compare,Allocator<pair<const Key, Data> > > storageMap;
typedef vector<Data,Allocator<Data> > storageVector;
}
So template is passed to the class unspecialiazed and instantiated later.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,这是一个最小的可编译示例:
Yes, here's a minimal compileable example:
是的,它被称为“模板-模板参数”,语法是
Yes, it's called a "template-template parameter", and the syntax is