对作为模板参数给出的结构体中的值进行部分特化
Partially specialize with respect to values in struct given as template parameter
我有一个结构体,我用它作为模板参数来配置一些类:
template <int _DIM, class _TYPE>
struct CONFIG{
static constexpr int DIM = _DIM;
using TYPE = _TYPE;
};
然后我需要部分专门化一个类。我目前是这样做的:
实例化模板的行:
template <class CONFIG> instantiate(){
Calculator<CONFIG::DIM, typename CONFIG::NODE> calc;
}
要特殊化的模板:
template <class TYPE>
struct Calculator<2, TYPE>{
static void fct(TYPE t){
}
};
是否有一种方法可以直接实例化和专门化计算器与类型配置的模板参数?
像这样更改实例化:
template <class Config> instantiate(){
Calculator<Config> calc;
}
然后像这样专门化:
template <class T>
struct Calculator<CONFIG<2, T>>{
static void fct(T t){
}
};
像模板形参CONFIG
和结构体CONFIG
那样重载名称通常不是一个好主意。
相关文章:
- 根据用户回答声明"Players"。用户选择玩家数量。播放器是结构体
- 结构体 S { int align; } 之间的区别;(struct 关键字后的名称)和 struct { int al
- C++ - 如何在结构向量中找到结构体一个成员的最大值?
- 包含 std::list 的结构体的 C++ 初始化
- 结构体和类的不同大小(),彼此具有相同的字段类型
- 如何使用结构体的向量数组?
- 如何使用结构体在C++中更改这些代码?
- 如何显示函数开始、结束行和函数体?
- 无法在 Mosquitto MQTT Broker 插件上访问结构体 mosquitto 的元素
- 我应该如何在C++中使用结构体解决输入失败的问题?
- Qsort() 比较结构体整数的总和
- 如何使用迭代器指向结构体c++的向量
- 在C++中使用链表的堆栈实现中,访问结构体headNode成员count和top会导致运行时错误
- 如何获取结构体成员的地址
- 创建结构体向量,表达式:向量下标超出范围
- boost::任何带有结构体和无符号整数
- 如何在构造函数中初始化结构体的动态数组?
- 如何将文件的行读入结构体数组
- 内存池:对于大于缓存行大小的结构体,它们会提高缓存使用率吗?
- 使用命令行参数创建结构体向量