指向成员的指针作为非类型模板参数的用例是什么?
例如:
class X {
public:
int n;
};
template <typename T, T nontype_param>
class C
{
public:
void doSomething()
{
//what goes here to access or use nontype_param?
}
};
void test()
{
C<int X::*, &X::n> c;
c.doSomething();
}
答案 0 :(得分:0)
Bjarne的书引用:
类型模板参数可以在模板参数列表中稍后用作类型。例如:
$routeProvider
.when('/Book/:bookId', {
templateUrl: 'book.html',
controller: 'BookController'
})
当与默认模板参数(第25.2.5节)结合使用时,这变得特别有用;对于 例如:
template<typename T, T default_value>
class Vec {
// ...
};
Vec<int,42> c1;
Vec<string,""> c2;