小编Bub*_*Boy的帖子

成员静态函数内的 C++ 静态变量

一般来说,我想知道成员函数的static局部变量存储在哪里?即,如果static变量仅在static函数内部使用,则该变量是否仅初始化一次?

请参考下面的代码

std::string const CONST1 = "const1";
std::string const CONST2 = "const2";
std::string const CONST3 = "const3";

class Test
{
  public:
    static const std::vector<std::string> GetSomeMap();
}

const std::vector<std::string> Test::GetSomeMap()
{
  static std::vector<std::string> SomeMap = boost::assign::list_of(CONST1)(CONST2)(CONST3);
  
  return SomeMap;
}
Run Code Online (Sandbox Code Playgroud)

通过上面的代码,声明为有优势SomeMapstatic?(我希望它只初始化一次。)

c++ static boost

2
推荐指数
1
解决办法
2450
查看次数

标签 统计

boost ×1

c++ ×1

static ×1