Ale*_*lex 27 c++ templates namespaces language-design
我知道名称空间不能是模板参数.请参阅问题"专用于命名空间的模板":
鉴于:
Run Code Online (Sandbox Code Playgroud)namespace A { class Foo; class Bar; } namespace B { class Foo; class Bar; }我想在命名空间上模板化一个类,
A或者B使以下工作:Run Code Online (Sandbox Code Playgroud)template<name> class C { name::Foo* foo; name::Bar* bar; };
我想知道为什么会这样.我知道模板不是结构,但编译器的设计是否存在技术限制?或者是否有一些重要的权衡实现此功能?
Pet*_*ker 27
当Bjarne Stroustrup第一次开始讨论C++标准会议中的模板时,他提到了名称空间作为模板参数.反应是持怀疑态度的,部分原因是命名空间本身是如此新颖,我们害怕将两件我们不理解的事情结合起来.
Mar*_*tos 16
这将是: