这是我的程序的相关部分。
// constants.h
extern const std::map<std::string, int> constMap;
// constants.cpp
std::map<std::string, int> initConstMap()
{
//stuff required to initialize constMap
}
const std::map<std::string, int> constMap = initConstMap();
\\ main.cpp
...
for (int i = 0, n = LOTS_OF TIMES; i < n; ++i){
doSomethingWith(constMap[i]);
}
...
我想知道,当我在主程序中使用constMap变量时,它是否会每次运行“initConstMap”函数?显然,const map是常量,因此不需要多次初始化。 (*注意,主cpp是一个人工示例,不是我的程序实际情况。我只是为了问题简化事情)。
static
全局变量并计算它被调用的次数。 - eripn = 很多次数
. - Pete Becker