我对 C++ 模板没有太多经验,所以我的术语可能不正确。请多多包涵,欢迎指正。
我有通用类型fixed_buf<N>
:
// in foo.h
template <int N>
class fixed_buf {
private:
unsigned char data[N];
public:
const unsigned char* begin() const {
return std::begin(data);
}
const unsigned char* end() const {
return std::end(data);
}
};
我想定义一个通用to_hex
函数
// in foo.h
template <typename T> std::string to_hex(const T& b);
// in foo.cpp
template <typename T> string to_hex(const T& b) {
string r;
hex(b.begin(), b.end(), back_inserter(r));
return r;
}
使用显式实例化我也有以下内容:
// in foo.cpp
template string to_hex(const vector<unsign char>&);
我应该如何显式实例to_hex
化fixed_buf<N>
?可能吗?