【发布时间】:2017-10-31 12:33:23
【问题描述】:
如果我有一个模板类
template<typename T>
class C {
public:
void method1() { ... }
void method2() { ... }
std::string method3(T &t) {
// ...
std::string s = t.SerializeToString();
// ...
return s;
}
// ...
};
我想将它专门用于T = std::string,但只更改method3(T&)(保留所有其他方法),或者更好的是,只更改方法3 的那部分,对于T = std::string,它将简单地变成std::string s = t;,最少对当前代码的影响(减少方法签名的重复,减少子类化),我该怎么做?
编辑:我正在使用 C++11 进行开发
【问题讨论】:
标签: c++ templates template-specialization specialization