c++ - 如何解释c++11中的静态代码
问题描述
我刚刚找到了一些用 C++11 编写的源代码。代码是这样的:
inline Class& function() {
static Class x;
return x;
}
然后为了使用我面临的这个功能:
function().app();
这个 function() 是否实现了单例模式?它是如何工作的?我觉得很奇怪。
解决方案
subroutine-static 表示在堆栈上,return & 表示返回一个指向它的指针,所有这些都非常奇异,但不能保证在进程的其他地方没有 Class x。维基说你必须隐藏构造函数,有一个类方法来返回对类静态对象的引用:https ://en.wikipedia.org/wiki/Singleton_pattern
推荐阅读
- c# - 以编程方式欺骗 MAC ID
- android - 在 Retrofit 中区分 writeTimeout、readTimeout 和 connectTimeout?
- angular - Angular 2+:当搜索是共享组件时在 json 数据中搜索
- json - json - 如何获取 json 到数组
- java - com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException:无法删除或更新父行:外键约束失败
- python - Docker 撰写脚本抱怨 python 模块导入
- angular - 动态 StyleUrl Angular 7
- sql - PostgreSQL 中两个日期的区别
- r - 对于 R 数据框中的每一列
- iot - 我们可以在应用程序中将 IoTConnect 用于 UI SDK 而不是 API 调用吗