在C++中是否可以创建模板类的别名(不指定参数)?
typedef std::map myOwnMap;
不起作用。
如果不是,有什么好的理由吗?
最佳答案
在 C++98 和 C++03 中,typedef
只能用于完整类型:
typedef std::map<int,int> IntToIntMap;
在 C++0x 中,有一个新的语法来替代 typedef
:
using IntToIntMap = std::map<int,int>;
它也支持 template
别名:
template <
typename Key,
typename Value,
typename Comparator = std::less<Key>,
typename Allocator = std::allocator< std::pair<Key,Value> >
>
using myOwnMap = std::map<Key,Value,Comparator,Allocator>;
给你:)
关于c++ - 泛型类的 Typedef(别名),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3591024/