代码解读。。。

我是马甲1号 2015-03-13 04:52:59


头文件:

class Global
{
public:
Global();
~Global();
static Global *_globalInstance;
static Global* getGlobalInstance();
};


cpp文件:



Global* Global::_globalInstance;

Global* Global::getGlobalInstance()
{
if (_globalInstance == 0)
{
_globalInstance = new Global();
}
return _globalInstance;
}



求解读cpp文件中代码的意思
...全文
811 44 打赏 收藏 转发到动态 举报
写回复
用AI写文章
44 条回复
切换为时间正序
请发表友善的回复…
发表回复
苏叔叔 2015-03-20
  • 打赏
  • 举报
回复
我是马甲1号 2015-03-20
  • 打赏
  • 举报
回复
引用 40 楼 z1101385391 的回复:
[quote=引用 30 楼 WoshiMJ001 的回复:] [quote=引用 29 楼 z1101385391 的回复:] 自己功力不足就别怪谁了,这么简单的代码看不懂你瞎BB啥··· 真要按赵老师的话做一遍你还看不懂你再BB也不迟
我上面已经说过了,术业有专攻,老子不写C,不写C++,不写Java,看不懂又如何?你们这些所谓的大牛要是没兴趣回答这种问题,就请一边凉快去,要是进来装人生导师的逼,那老子给你们的就一句话:滚你妈逼的![/quote] 你这么牛逼,这些都是不写的,那你看这些干嘛?还来费劲问,找个会干活的人干了就不行了? 除非你又不想花钱又想搞定这些代码,这么便宜的事呢? 你有你的专攻,没人要强迫你来理解这段代码,但你来问了,别人还不能说了? 算了跟XX交流久了也会变成XX的[/quote] 傻逼,滚你妈逼的
我是马甲1号 2015-03-20
  • 打赏
  • 举报
回复
引用 39 楼 z1101385391 的回复:
[quote=引用 30 楼 WoshiMJ001 的回复:] [quote=引用 29 楼 z1101385391 的回复:] 自己功力不足就别怪谁了,这么简单的代码看不懂你瞎BB啥··· 真要按赵老师的话做一遍你还看不懂你再BB也不迟
我上面已经说过了,术业有专攻,老子不写C,不写C++,不写Java,看不懂又如何?你们这些所谓的大牛要是没兴趣回答这种问题,就请一边凉快去,要是进来装人生导师的逼,那老子给你们的就一句话:滚你妈逼的![/quote] 牛?牛个P啊,你要来个复杂点的我还可以吹吹牛装装逼,一个单例模式谁要跟你装导师?你不怕笑话别人还怕笑话。楼主真奇葩[/quote] 滚你妈逼的
ByPerseverance 2015-03-20
  • 打赏
  • 举报
回复
引用 13 楼 Android_iPhone 的回复:
想了解单例模式,可以参考一下我写的帖子【http://bbs.bccn.net/thread-438043-1-1.html】,不过是Java版的,可以作为参考 Global* Global::_globalInstance; Global* Global::getGlobalInstance() { if (_globalInstance == 0) { _globalInstance = new Global(); // 懒汉方式创建单例,全局的单例实例在第一次被使用时构建。 } return _globalInstance; // 如果实例为空则创建实例并返回,如果实例不为空,则直接返回唯一的实例。 } 补充说明:上面的代码在多线程下运行,比较危险 在极限状况下,两个线程同时判断_globalInstance为0,之后各自new Global();的话,会违背单例模式的初衷 可以参考【http://www.2cto.com/kf/201112/113429.html】对代码进行一些改造,使其线程安全
C++11里可以不用线程保护了,我忘了在哪里看到的。建议不用new,直接static实例化,没法回收
万载馨辰 2015-03-20
  • 打赏
  • 举报
回复
引用 30 楼 WoshiMJ001 的回复:
[quote=引用 29 楼 z1101385391 的回复:] 自己功力不足就别怪谁了,这么简单的代码看不懂你瞎BB啥··· 真要按赵老师的话做一遍你还看不懂你再BB也不迟
我上面已经说过了,术业有专攻,老子不写C,不写C++,不写Java,看不懂又如何?你们这些所谓的大牛要是没兴趣回答这种问题,就请一边凉快去,要是进来装人生导师的逼,那老子给你们的就一句话:滚你妈逼的![/quote] 你这么牛逼,这些都是不写的,那你看这些干嘛?还来费劲问,找个会干活的人干了就不行了? 除非你又不想花钱又想搞定这些代码,这么便宜的事呢? 你有你的专攻,没人要强迫你来理解这段代码,但你来问了,别人还不能说了? 算了跟XX交流久了也会变成XX的
万载馨辰 2015-03-20
  • 打赏
  • 举报
回复
引用 30 楼 WoshiMJ001 的回复:
[quote=引用 29 楼 z1101385391 的回复:] 自己功力不足就别怪谁了,这么简单的代码看不懂你瞎BB啥··· 真要按赵老师的话做一遍你还看不懂你再BB也不迟
我上面已经说过了,术业有专攻,老子不写C,不写C++,不写Java,看不懂又如何?你们这些所谓的大牛要是没兴趣回答这种问题,就请一边凉快去,要是进来装人生导师的逼,那老子给你们的就一句话:滚你妈逼的![/quote] 牛?牛个P啊,你要来个复杂点的我还可以吹吹牛装装逼,一个单例模式谁要跟你装导师?你不怕笑话别人还怕笑话。楼主真奇葩
赵4老师 2015-03-17
  • 打赏
  • 举报
回复
引用 18 楼 WoshiMJ001 的回复:
[quote=引用 16 楼 zhao4zhong1 的回复:] 离开操作系统谈单例模式? 《Windows核心编程》
[/quote] 谁别直接调用Win API,给我实现一个同一台电脑上跨用户Session的单例模式?
我是马甲1号 2015-03-17
  • 打赏
  • 举报
回复
引用 34 楼 zhao4zhong1 的回复:
打开所有IT设备喽了一贼眼,发现CPU和冯·诺依曼架构这货果然是牛皮癣一样的存在。
滚你妈逼的!
我是马甲1号 2015-03-17
  • 打赏
  • 举报
回复
引用 22 楼 iamshaofa 的回复:
淡疼就是把简单的东西故意写的复杂了,大多数程序员和作者都这毛病。 [quote=引用 20 楼 WoshiMJ001 的回复:] [quote=引用 19 楼 iamshaofa 的回复:] 不就是“单例模式”吗,不过代码写得有点淡疼 http://www.afanihao.cn/c_guide/,第21章“静态成员”,第 21.6节,单例模式
代码写得蛋疼是何解?[/quote][/quote] 那怎么才是简单呢?是这样?

Global* Global::_globalInstance;
 
Global* Global::getGlobalInstance()
{
    return _globalInstance;
}
赵4老师 2015-03-16
  • 打赏
  • 举报
回复
打开所有IT设备喽了一贼眼,发现CPU和冯·诺依曼架构这货果然是牛皮癣一样的存在。
我是马甲1号 2015-03-16
  • 打赏
  • 举报
回复
引用 26 楼 fsy351 的回复:
[quote=引用 3 楼 WoshiMJ001 的回复:] [quote=引用 1 楼 zhao4zhong1 的回复:]
这段废话我就把它当个屁放了。[/quote] 楼主不用理他,什么帖这人都水这段话,我都看烦了![/quote] 百度了它一把,发现这货果然是牛皮癣一样的存在。
我是马甲1号 2015-03-16
  • 打赏
  • 举报
回复
引用 28 楼 cs_dingz 的回复:
这不是大名鼎鼎的单例模式吗
引用 31 楼 NexTor 的回复:
经典的懒汉式单例模式代码
已度娘~
引用 27 楼 fsy351 的回复:
这不是严格意义上的单例,单例要求构造函数私有化,不能公有创建对象!
NexTor 2015-03-16
  • 打赏
  • 举报
回复
经典的懒汉式单例模式代码
我是马甲1号 2015-03-16
  • 打赏
  • 举报
回复
引用 29 楼 z1101385391 的回复:
自己功力不足就别怪谁了,这么简单的代码看不懂你瞎BB啥··· 真要按赵老师的话做一遍你还看不懂你再BB也不迟
我上面已经说过了,术业有专攻,老子不写C,不写C++,不写Java,看不懂又如何?你们这些所谓的大牛要是没兴趣回答这种问题,就请一边凉快去,要是进来装人生导师的逼,那老子给你们的就一句话:滚你妈逼的!
万载馨辰 2015-03-16
  • 打赏
  • 举报
回复
自己功力不足就别怪谁了,这么简单的代码看不懂你瞎BB啥··· 真要按赵老师的话做一遍你还看不懂你再BB也不迟
我是马甲1号 2015-03-16
  • 打赏
  • 举报
回复
引用 21 楼 zhkmxx930 的回复:
单例模式,有就不new,没有就new一下,哪里不大懂嘞
已懂
  • 打赏
  • 举报
回复
这不是大名鼎鼎的单例模式吗
BrillianceRen 2015-03-15
  • 打赏
  • 举报
回复
这是个单例, 这个单例可以工作, 但是这个单例不是个完美的单例.
阿发你好 2015-03-15
  • 打赏
  • 举报
回复
淡疼就是把简单的东西故意写的复杂了,大多数程序员和作者都这毛病。
引用 20 楼 WoshiMJ001 的回复:
[quote=引用 19 楼 iamshaofa 的回复:] 不就是“单例模式”吗,不过代码写得有点淡疼 http://www.afanihao.cn/c_guide/,第21章“静态成员”,第 21.6节,单例模式
代码写得蛋疼是何解?[/quote]
fsy351 2015-03-15
  • 打赏
  • 举报
回复
这不是严格意义上的单例,单例要求构造函数私有化,不能公有创建对象!
加载更多回复(23)

64,666

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧