考虑下面的代码,它本质上是Meyer的单例(希望如此)
static const std::string& foo() // Line 1
{
static std::string str("foo");
return str;
}第1行中提到的静态关键字是否毫无意义?如果是的话,为什么?
发布于 2018-12-11 14:21:47
第1行中提到的静态关键字是否毫无意义?如果是的话,为什么?
它不是毫无意义的,如果你需要它或不取决于你的情况。static在C++中意味着在不同的上下文中有不同的东西,在这种情况下,它使这个函数只在当前编译单元上可用。在C++中实现该功能的现代方法--将函数放入匿名命名空间。
https://stackoverflow.com/questions/53726080
复制相似问题