初始化静态图

Initialize a static map

本文关键字:静态 初始化      更新时间:2023-10-16

我想在不实例化 HelperClass的情况下致电readFromMap

所以我想检查是否可以在(某些人认为(class-load?

上调用readIntoMapFromDataStore

,该地图在调用readFromMap之前总是初始初始化的?

初始化静态图

class HelperClass {
static map<string, string> cache;
static string readFromMap(string key) {
return cache.at(key);
}
static void readIntoMapFromDataStore() {
//read contents into cache from datastore
}
}

如何在调用readFromMap之前初始化?

地图的总体应通过返回地图对象的函数来完成,NRVO将消除临时性。您可以通过在静态成员的定义中使用初始化来连接它:

std::map<std::string, std::string> HelperClass::cache{HelperClass::readIntoMapFromDataStore()};