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

define an independent static member functrion from class template type

本文关键字:一个 独立 函数 静态成员 类型 定义      更新时间:2023-10-16

我已经使用模板创建了一个新类

template <class map_t>
class SGridMap {
public:
...
static void save_parameters();
private:
...
}

我有两个问题:

  1. 现在有一个静态函数,我想添加(save_parameters)到我的类,但它不依赖于所有的模板类型类,我不知道如果我能做到这一点,以及如何?所以我可以这样调用函数:SGridMap::save_parameters(); <=这比SGridMap<some_type>::save_parameters();

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

谢谢

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

  2. @RakibulHasan是正确的你可以使用模板专门化,就像他说的。