社区
C++ 语言
帖子详情
为什么要定义一个类的全局的静态的对象?为什么这么做了,有人知道吗?
chenxidu
2008-08-04 02:20:42
在cpp文件的外面定义一个:
static A a;\
在一个接口函数里面这样做:
A* A::GetInterface()
{
return &a;
}
然后在其他的类里面这样运用:
A *sc = A::GetInterface();
然后就可以直接使用这个sc指针了,这样做的好处是什么了?为什么要这样做了?
...全文
181
13
打赏
收藏
为什么要定义一个类的全局的静态的对象?为什么这么做了,有人知道吗?
在cpp文件的外面定义一个: static A a;\ 在一个接口函数里面这样做: A* A::GetInterface() { return &a; } 然后在其他的类里面这样运用: A *sc = A::GetInterface(); 然后就可以直接使用这个sc指针了,这样做的好处是什么了?为什么要这样做了?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
yuhaozx
2008-08-04
打赏
举报
回复
1、保证实例的唯一性
haosuai
2008-08-04
打赏
举报
回复
[Quote=引用 9 楼 chenxidu 的回复:]
那问问大家,下面这样的做法是什么设计模式了?就是用别的类的指针类实例化一个类的对象
我觉得这里也有学问
gCharInst *main = cc->m_MainPlayer.m_pInst;
gCharInstAct mainAct(main);
[/Quote]
你这个说的不清楚,gCharInstAct和gCharInst的关系,cc的类型等。
coverallwangp
2008-08-04
打赏
举报
回复
[Quote=引用 9 楼 chenxidu 的回复:]
那问问大家,下面这样的做法是什么设计模式了?就是用别的类的指针类实例化一个类的对象
我觉得这里也有学问
gCharInst *main = cc->m_MainPlayer.m_pInst;
gCharInstAct mainAct(main);
[/Quote]
是用子类的指针来实例化父类的对象吗?
chenxidu
2008-08-04
打赏
举报
回复
自己定
chenxidu
2008-08-04
打赏
举报
回复
那问问大家,下面这样的做法是什么设计模式了?就是用别的类的指针类实例化一个类的对象
我觉得这里也有学问
gCharInst *main = cc->m_MainPlayer.m_pInst;
gCharInstAct mainAct(main);
fenggu_xt
2008-08-04
打赏
举报
回复
好好学习。。。。。
coverallwangp
2008-08-04
打赏
举报
回复
设计模式中的单例模式
在这种设计模式中,类的构造函数是私有的,外部不能直接构造该类的对象。
只能通过该类的接口(函数)得到该类的对象,如:A::GetInterface();
所以在类中必须定义一个全局的static的该类的对象,让接口可以返回这个对象一供外部使用。
这样做的好处就是可以保证该类的对象有且只有一个,例如打印机,如果只有一台打印机,那你不能构造出两个打印机的对象。
具体的好处你可以看看设计模式。
珍惜生命远离CPP
2008-08-04
打赏
举报
回复
看设计模式,单件。
会告诉你为啥会有这东西。
至于实现有多种方法,这只是其中的一种。
chenxidu
2008-08-04
打赏
举报
回复
哪位高手能多介绍介绍这种方法吗?不胜感激
yeliguo12345
2008-08-04
打赏
举报
回复
不懂,学习
ljosy
2008-08-04
打赏
举报
回复
可以看成是一个单例模式,static A a;这句话不管类被实例多少次,a只被分配和初始化一次,上面这个例子就是所有调用GetInterface();
这个方法的代码所用的都是一个相同的实例
珍惜生命远离CPP
2008-08-04
打赏
举报
回复
单件模式
使用方便
BluntBlade
2008-08-04
打赏
举报
回复
单例模式,Singleton。
尹成Python27天入门到项目实战
面向
对象
设计与图像界面上设计一个
类
发短信
类
的方法设计一下短信发送邮件
类
的设计-设计发邮件
类
的多文件引用腾讯营销
类
的设计消息循环消息回掉函数机制lambda按下按钮标签显示文本文本输入框listcombobox选择列表...
java
静态
全局
变量_
静态
变量static和
全局
变量global
它的关键字是static存储在
静态
存储区,当程序执行,
类
的代码被加载到内存,
类
的
静态
变量就分配了内存空间,他是属于
类
的也就是没个实例
对象
都是对于以个
静态
变量,
静态
变量的内存空间
知道
程序退出才释放所占用的内存...
C++
全局
变量
静态
变量
全局
函数
静态
函数
例如外部变量虽属于
静态
存储方式,但不一定是
静态
变量,必须由 static加以定义后才能成为
静态
外部变量,或称
静态
全局
变量。 2.
静态
局部变量
静态
局部变量属于
静态
存储方式,它具有以下特点: (1)
静态
局部变量...
C++面向
对象
:
静态
成员和
静态
类
C++学习笔记:
静态
成员和
静态
类
1....
静态
类
的概念4.1 什么是
静态
类
4.2
静态
类
的优势4.3 C++不支持
静态
类
1.
类
的
静态
成员 1.1 static关键字 static关键字在C语言中有2种用法:static修饰局部变量和
全局
变量,这
类
内
静态
函数和
全局
静态
函数的相同点和不同点
3)要说二者相同点,都是c++名字控制的手段:
全局
静态
函数被局限在一个编译单元,通俗的将就是在一个cpp文件中定义的
全局
静态
函数在另一个cpp文件中不能被调用。例程如下; // main.cpp #include extern ...
C++ 语言
64,670
社区成员
250,489
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章