初始化静态图
Initialize a static map
我想在不实例化 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()};
相关文章:
- 使用g++静态初始化带有命名标签的嵌套C++结构
- 静态初始化的反义词是什么?
- 在静态初始化期间运行代码
- 结构数组的嵌入式C++静态初始化
- 初始化与类类型相同的静态成员(静态初始化顺序问题)
- 使用 constexpr 和 std::array 进行静态初始化来替换动态初始化的 std::vector 的闰年
- MSVC 2017 在单个翻译单元中违反静态初始化顺序
- VC++6 线程安全静态初始化
- 具有必要副作用的静态初始化被优化掉了
- 未使用全球的静态初始化器
- w/ w/结构带char缓冲液的静态初始化[]
- 静态初始化的对象不能放在块中尝试
- 功能指针的静态初始化
- lambda(或函数)C++中的静态初始化
- C++静态初始化顺序:添加到映射中
- 复杂类型数组的静态初始化
- C++ - 在派生类中静态初始化受基类保护的成员变量
- 静态初始化插件工厂
- 静态初始化包含功能指针的对象的constexpr std ::数组
- 找出静态初始化是否结束