从类模板类型定义一个独立的静态成员函数

时间:2014-05-07 09:51:43

标签: c++ class templates

我使用模板

创建了一个新类
template <class map_t>
class SGridMap {
public:
...
static void save_parameters();
private:
...
}

我有两个问题:

  1. 现在有一个静态函数我要添加(save_parameters)到我的类,但它根本不依赖于模板类型类,我不知道我是否可以这样做以及如何做? 所以我可以调用这样的函数:SGridMap::save_parameters();&lt; =比SGridMap<some_type>::save_parameters();更直观

  2. 我可以用两种不同的方式实现一个特定的函数,如果模板类型是int(第一个实现),如果它的char(第二个实现),如何?

  3. 感谢

1 个答案:

答案 0 :(得分:1)

  1. 有趣的问题。在对象代码级别考虑它,save_parameters()需要知道在内存中找到类的static数据成员的位置,这意味着它实际上依赖于模板参数,即使它不是似乎是这样做的。

  2. @RakibulHasan是对的。你可以使用模板专业化。