当前位置: 首页 > 知识库问答 >
问题:

迈耶斯单例:静态关键词混乱“重复”

徐阳炎
2023-03-14

考虑下面的一段代码,它基本上是Meyer的单例的一个例子(希望如此)

static const std::string& foo() // Line 1
{
   static std::string str("foo");
   return str;
}

第1行提到的static关键字没有意义吗?如果是,为什么?

共有1个答案

戚修雅
2023-03-14

第1行提到的static关键字没有意义吗?如果是,为什么?

它不是没有意义的,你是否需要它取决于你的情况。C++中的static在不同的上下文中有不同的含义,在这种情况下,它使该函数只能在当前编译单元上使用。在C++中实现的现代方法--将函数放入匿名名称空间。

 类似资料:
  • 本文向大家介绍java使用静态关键字实现单例模式,包括了java使用静态关键字实现单例模式的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了使用静态关键字实现单例模式的具体代码,供大家参考,具体内容如下 单例模式:只能获得某个类的唯一一个实例 单例模式,不管什么时间点得到的对象都是同一个对象 看下面代码: 将构造方法私有,以便实现外部无法使用new进行实例化的效果,达到任何时候其实都是同一

  • 关键词分为两部分: 时间/关键词筛选 和 关键词详情 1.时间/关键词筛选 1)便捷按钮有今日、昨日、前日、上周 X、近七天 2)能自定义选择时间段以及搜索出含有个别字眼的关键词来得出想要的结果报表 2.关键词详情 1)关键词报表中所指的关键词,是指访问者是通过搜索引擎搜索相应的关键词进入网站 2)如有需要,亦可点击下载当前报表及更多数据下载,将报表下载到个人电脑,以供存档及分析 3)关于

  • 下面的表格列出了 Dart 语言特殊对待的关键词。 abstract 2 dynamic 2 implements 2 show 1 as 2 else import 2 static 2 assert enum in super async 1 export 2 interface 2 switch await 3 extends is sync 1 break external 2 libra

  • 问题内容: 我是Django(1.4)的新手,我很难理解静态文件,媒体文件和管理文件的原理。该项目的结构从一个教程到另一个教程都是不同的,对于Webfaction(我将在其中托管应用程序)也是如此。我想知道什么是组织它的最佳方式,并且在将它部署到Webfaction时花费最少的精力和编辑,静态媒体和管理文件的意义是什么?先感谢你 问题答案: 本质上,你想在开发中使用django提供静态文件。准备好

  • 本文向大家介绍Java中的静态关键字,包括了Java中的静态关键字的使用技巧和注意事项,需要的朋友参考一下 静态修饰符 静态变量 在静态关键字用于创建将独立存在的类创建的所有实例变量。无论类的实例数量如何,静态变量只有一个副本存在。 静态变量也称为类变量。局部变量不能声明为静态。 静态方法 static关键字用于创建将独立于为该类创建的任何实例存在的方法。 静态方法不使用定义它们的类的任何对象的任

  • 我刚刚意识到我让一个班级成员不必要地保持静态。我想知道这是否有意义,或者它们之间有什么区别。所以我有: 或 所以你可以看到,这个GUI类总是通过作用域操作符GUI::而不是点成员操作符来访问,我不会创建它的任何实例,它是完全静态的。因此,两个GUI类中的int和Foo对象要么有“static”关键字,要么没有。在GUI类不会被实例化的情况下,我不相信这会有什么不同。作为一种最佳实践,是否最好不使用