永发信息网

c++单例和静态的区别

答案:1  悬赏:0  手机版
解决时间 2021-01-22 04:38
c++单例和静态的区别
最佳答案
C++单例的实现方式有两种,其中一种方式就是使用静态对象。因为静态对象全局只有一份。另一种方式是使用动态内存实现的单例。

静态对象不一定是单例,因为单例在全局任何地方都可以访问到,只要你包含对应头文件。静态对象可能是私有的,而且静态对象的职责本身就不是单例,因为静态对象可能本身就是因为类型设计的需要而创建。也就是说静态单例和静态对象的访问方式不同,职责不同,定位不同。

静态对象作为单例的实现方式有一定的风险,因为静态单例可能会有多个,而且他们之间可能会互相需要。这个时候你可能会遇到的情况就是某个单例无法创建,因为它依赖的单例还没有被创建。也就是说静态单例的创建顺序是无法像动态内存那样准确控制的。主要是因为C++没有对main函数运行之前的静态对象创建次序有语言上的约束。而静态对象的创建都是发生在main函数执行之前的编译链接阶段,和C++没有关系,只和编译器相关。

希望对你有帮助
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
广安武胜那个婚纱店最好
狗狗要生了会有什么反映?我家的狗总是躲在角
去日本带28寸箱子可以登机吗?
绝地求生进去的时候让重下游戏。重下了还是不
男友做着就软了,还没设就进不去了,应该吃什
如何使用netty实现tcp的双向通信
大风不雷下雨前奏写一首七律押韵诗
体温三十五度六正常吗
小旅馆的经营技巧
儿女刑伤是指什么 是说儿女有啥???
影驰1050ti大将跟1050ti骨灰大将有什么区别
急需假如下雪了作文400字
家用蚊帐用英语怎么说
骑自行车人丛江门到丽江走国道有多远
申请法院强制执行能找到被告或被告公司吗
推荐资讯
玛雅四重奏声卡不能话筒输入,只能线性输入,
昨日无口日镶边打一字
女性非淋严重吗
金宝宝(五岭店)地址有知道的么?有点事想过去
大众汽车行车记录仪app叫什么大众影
有没有想一起减肥的呀?
步行街招待所(商丘永城市)地址好找么,我有些
阅读理解Elephantsdon’tforget—atleast,fem
思想简单的人好吗
金苹果双语幼儿园(北皋镇)地址好找么,我有些
艳梅童装地址在什么地方,想过去办事,
美时化妆名品地址在什么地方,想过去办事,
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?