C++ 为什么C+中没有模板化的typedef+;11?

C++ 为什么C+中没有模板化的typedef+;11?,c++,c++11,templates,typedef,using,C++,C++11,Templates,Typedef,Using,为什么委员会决定不批准模板化的typedef以及使用模板化的 template <class T> using my_vector = std::vector<T>; 模板 使用my_vector=std::vector; 这是合法的 但是 模板 typedef std::vector my_vector; 这是违法的吗 Upd。问题不是回答。 < P>引用C++的建议模板别名(强调地雷< /强>):< /P> 有人建议(重新)使用关键词typedef——如论文[4

为什么委员会决定不批准模板化的
typedef
以及使用模板化的

template <class T>
using my_vector = std::vector<T>;
模板
使用my_vector=std::vector;
这是合法的

但是

模板
typedef std::vector my_vector;
这是违法的吗

Upd。问题不是回答。

< P>引用C++的建议模板别名(<强>强调地雷< /强>):< /P> 有人建议(重新)使用关键词
typedef
——如论文[4]所述——引入模板别名:

template<class T>
typedef std::vector<T, MyAllocator<T> > Vec;
模板
typedef std::向量向量;
这种表示法的优点是使用用户已知的关键字 引入类型别名。但是,它还显示了几个 缺点,其中包括使用已知关键字的混乱 在别名不存在的上下文中为类型名称引入别名 不是指定类型,而是指定模板
Vec
不是 类型,并且不应作为
typedef
-名称。名称
Vec
是一个 族的名称
std::vector
–其中项目符号为 类型名称的占位符因此,我们不建议使用“
typedef
” 语法。

[4] Herb Sutter,Typedef模板,文件编号WG21/1406


对委员会不喜欢任何让
typedef
template
s一起工作的方法,因此他们发明了
使用
。您需要翻阅会议日志或邮件列表以找出原因。@nwp这就是我在这里提问的原因:可能过去有人对此感兴趣,并且已经阅读了日志……也许他们可能已经介绍了
templatedef
:D@sp2danny他说出了一个新的关键词!检察官,禁止这个异教徒@CPPLARNER NO,没有答案,为什么C++中没有模板Type。
template<class T>
typedef std::vector<T, MyAllocator<T> > Vec;