316得票10回答
模板模板参数有哪些用途?

我看过一些使用C++的模板模板参数(即以模板为参数的模板)来进行策略设计的例子。这种技术还有哪些用途?

60得票3回答
可变参数模板和完美转发

这个问题关于对象生成器模式让我想到了自动化的方法。 本质上,我想自动创建像std::make_pair、std::bind1st和std::mem_fun这样的函数,这样就不必为每个模板类类型编写不同的函数,而是可以编写一个处理所有情况的单个可变参数模板函数。使用此函数的方式如下: mak...

45得票3回答
C++可变参数模板模板参数,匹配任何类型的参数。

我想知道是否可以编写一个模板函数,它可以接受任何其他任意的模板作为参数,并正确匹配模板名称(即不仅仅是结果类)。 我知道这种方法可行:template<template<typename ...> class TemplateT, typename... TemplateP&...

34得票4回答
为什么我们有模板模板参数时还需要allocator::rebind?

每个分配器类必须具有类似以下接口的接口: template<class T> class allocator { ... template<class Other> struct rebind { typedef allocator<Ot...

30得票2回答
与模板模板参数交朋友

我有一个带有模板模板参数的类模板,我想将此参数(即其所有特化)声明为friend。但是我找不到正确的语法。 template <template <class> class T> struct Foo { template <class U> ...

21得票1回答
一个模板模板参数中默认模板参数的奇怪行为

考虑这个 C++11 程序:#include <iostream> template <class A, class B = char> struct Cont { Cont () { std::cout << sizeof(B); } }; t...

19得票2回答
使用模板模板参数的CRTP

以下代码无法编译... namespace { template<typename T, template<typename> class D> struct Base { Base(const T& _t) : t(_t) {...

18得票2回答
不指定内部类型的模板模板参数

我想知道是否可能拥有具有以下行为的代码:int main() { func<vector>(/*some arguments*/); } 也就是说,我希望用户能够指定容器而不指定容器所操作的类型。 例如,下面是一些(元)代码(与上述代码不兼容),它可能会定义func:te...

16得票1回答
一个变量模板能作为模板模板参数传递吗?

以下荒谬的示例不能编译,但有没有其他方法将变量模板作为模板模板参数传递? template<typename T> constexpr auto zero = T{0}; template<typename T, template<typename> auto...

14得票2回答
使用gcc 4.4实现的模板模板参数和可变参数模板

我正在Debian squeeze上使用gcc 4.4。考虑以下代码。 #include <map> #include <string> using std::map; using std::string; // Args lets the user specify...