有没有办法给模板类的函数模板成员起别名?
举个例子
template<typename T, int ndim>
class Point
{
// ... stuff
template<int index>
T get() const;
}
而不是使用 p.get<0>()
确实存在一种声明别名的方法,例如
using getX() = template<typaname T, ndim> Point<T,ndim>::get<0>()
p.getX() // call p.get<0>()
?
我知道我可以写一个 enable_if getX
包装 get<0>()
如果 ndims
启用匹配它。我想知道是否存在通过别名的方法。
最佳答案
函数没有别名,但您可以创建“类似”的代码:
lambda 或函数助手:
auto getX = [](const auto& p) { return p.get<0>(); }; getX(p);
成员函数指针:
auto getX = &Point<float, 3>::get<0>; (p.*getX)();
关于c++ - 是否可以为模板类的模板函数成员起别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50932239/