50得票2回答
别名模板的打包展开

看起来,一个pack参数只能在别名模板的pack参数位置扩展。但是对于类模板或函数模板来说,这并不正确: template <class T, class... Args> struct x { using type = T; }; template <class T, ...

41得票1回答
为什么别名模板会造成冲突声明?

将某些C++11代码从Clang移植到g++的端口。 template<class T> using value_t = typename T::value_type; template<class> struct S { using value_type ...

39得票2回答
我可以将模板别名用作模板模板参数吗?

我可以使用模板别名作为模板模板参数吗? template <template <typename...> class> struct foo {}; template <typename T> using simple_ptr = std::unique...

19得票1回答
通过模板别名显式实例化类

是否可以通过模板别名显式实例化模板类? 如果可以,如何实现?否则,能否指出讨论并决定不支持此功能的ISO文件?template<class T> struct A { }; /// Explicit instantiate A for int: template struct ...

17得票1回答
可变参数模板别名作为模板参数

首先是一些代码,然后是一些背景说明,最后是问题: template <typename T> using id = T; template <template <typename...> class F, typename... T> using app...

16得票4回答
新的“using”语法解决了模板typedef所解决的问题是什么?

在C++11中,您可以通过执行类似以下操作来创建“类型别名” template <typename T> using stringpair = std::pair<std::string, T>; 但这与您期望的模板类型定义略有偏差: template <...

15得票1回答
在模板别名中展开参数包

我遇到了一个问题,即将可变模板展开为模板别名。 以下代码在Clang 3.4和GCC 4.8上可以工作,但在GCC 4.9上失败: template <typename T, typename...> using front_type = T; template <ty...

14得票3回答
我可以用别名模板为类模板进行特化吗?

这是一个简单的示例:class bar {}; template <typename> class foo {}; template <> using foo<int> = bar; 这样做是允许的吗?

14得票3回答
g++ 部分模板特化的 Bug

我正在为g++(版本4.8.1_1,Macports)和clang++(版本3.3,Macports)编写一些TMP-heavy代码。虽然g++用UNBRIDLED FURY拒绝了以下代码,但clang++却以grace和splendor编译它。 哪个编译器是正确的?(我强烈怀疑是g++,...

13得票2回答
可以将别名模板标记为友元吗?

假设我们有以下代码: template <class, class> class Element {}; template <class T> class Util { public: template <class U> using BeF...