我有一个模板类,所有函数都声明为static。
template <class T>
class Cache {
private:
Cache() {}
static std::map<std::string, std::string> c_files;
public:
~Cache() {}
template<class T> static void add(T const &file, std::string id) {
return;
}
//... here are some other functions
static void init() {
// do some initialization
}
}
通常我会称之为:
Cache<BITMAP*>::add(my_bitmap, "my_identifier");
工作正常。
但问题是,当我的应用程序启动时,我需要进行一次性初始化。 (检查硬盘上的缓存文件,将它们推入地图)。
目前我正在使用&#34;假的&#34;打电话给:
Cache<bool>::update();
我认为这真是一团糟。
现在,这个混乱的电话是否正常,还是完全符合某些编程标准?你会如何解决这个问题?