有没有一种方法可以基于一系列值而不是一个值来进行模板专业化?我知道以下代码不是有效的 C++ 代码,但它显示了我想做的事情。我正在为 8 位机器编写代码,因此使用整数和字符的速度存在差异。
template<unsigned SIZE>
class circular_buffer {
unsigned char buffer[SIZE];
unsigned int head; // index
unsigned int tail; // index
};
template<unsigned SIZE <= 256>
class circular_buffer {
unsigned char buffer[SIZE];
unsigned char head; // index
unsigned char tail; // index
};