C++程序中使用了很多静态类有什么缺点吗

云满笔记 2015-02-02 11:55:06
RT,其实就是感觉静态类调用起来特别方便,我担心有什么坏处,比如栈内存不够等等,还请前辈们指点
...全文
543 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
羽飞 2015-02-03
  • 打赏
  • 举报
回复
引用 11 楼 wan212000 的回复:
引用 8 楼 hnwyllmm 的回复:
[quote=引用 6 楼 wan212000 的回复:] [quote=引用 3 楼 FancyMouse 的回复:] 看lz啥时候掉进初始化顺序这个坑。
遇倒是遇到过,不过调整一下顺序就没问题了呀,前辈想表达什么观点,有什么更好的方式吗
有木有感觉通过控制声明变量的顺序来解决这个问题,最后生成的代码不好维护?[/quote]是的 那有什么好一点的方法吗[/quote] 封装成类,可以在构造函数中初始化
云满笔记 2015-02-03
  • 打赏
  • 举报
回复
引用 9 楼 derekrose 的回复:
c++里面有静态类么?
默认没有,自定义一个
云满笔记 2015-02-03
  • 打赏
  • 举报
回复
引用 8 楼 hnwyllmm 的回复:
引用 6 楼 wan212000 的回复:
[quote=引用 3 楼 FancyMouse 的回复:] 看lz啥时候掉进初始化顺序这个坑。
遇倒是遇到过,不过调整一下顺序就没问题了呀,前辈想表达什么观点,有什么更好的方式吗
有木有感觉通过控制声明变量的顺序来解决这个问题,最后生成的代码不好维护?[/quote]是的 那有什么好一点的方法吗
云满笔记 2015-02-03
  • 打赏
  • 举报
回复
引用 7 楼 hnwyllmm 的回复:
[quote=引用 4 楼 wan212000 的回复:] [quote=引用 1 楼 hnwyllmm 的回复:] 一般没有大数组不会栈溢出,或者递归调用 静态变量占用的不是栈上的内存 个人认为静态变量太多,是设计的问题,不如直接把静态变量封装起来,做一个单例对象
单例对象如果全局访问的话指针若在多线程的情况下是不是会存在线程安全的问题,毕竟GetInstance返回的是一个指针呢[/quote] 多线程安全与否跟单实例无关 单实例也可以返回引用[/quote]单实例怎么返回引用啊 是用static声明变量之后再返回引用吗 还是有其它方法?
此后三年 2015-02-02
  • 打赏
  • 举报
回复
1L + 1 缺点之一 访问静态变量的时候,可能还要考虑互斥量的问题
羽飞 2015-02-02
  • 打赏
  • 举报
回复
一般没有大数组不会栈溢出,或者递归调用 静态变量占用的不是栈上的内存 个人认为静态变量太多,是设计的问题,不如直接把静态变量封装起来,做一个单例对象
derekrose 2015-02-02
  • 打赏
  • 举报
回复
c++里面有静态类么?
羽飞 2015-02-02
  • 打赏
  • 举报
回复
引用 6 楼 wan212000 的回复:
引用 3 楼 FancyMouse 的回复:
看lz啥时候掉进初始化顺序这个坑。
遇倒是遇到过,不过调整一下顺序就没问题了呀,前辈想表达什么观点,有什么更好的方式吗
有木有感觉通过控制声明变量的顺序来解决这个问题,最后生成的代码不好维护?
羽飞 2015-02-02
  • 打赏
  • 举报
回复
引用 4 楼 wan212000 的回复:
[quote=引用 1 楼 hnwyllmm 的回复:] 一般没有大数组不会栈溢出,或者递归调用 静态变量占用的不是栈上的内存 个人认为静态变量太多,是设计的问题,不如直接把静态变量封装起来,做一个单例对象
单例对象如果全局访问的话指针若在多线程的情况下是不是会存在线程安全的问题,毕竟GetInstance返回的是一个指针呢[/quote] 多线程安全与否跟单实例无关 单实例也可以返回引用
云满笔记 2015-02-02
  • 打赏
  • 举报
回复
引用 3 楼 FancyMouse 的回复:
看lz啥时候掉进初始化顺序这个坑。
遇倒是遇到过,不过调整一下顺序就没问题了呀,前辈想表达什么观点,有什么更好的方式吗
云满笔记 2015-02-02
  • 打赏
  • 举报
回复
引用 2 楼 a30037338 的回复:
1L + 1 缺点之一 访问静态变量的时候,可能还要考虑互斥量的问题
我好像多线程同时操作,没有出现问题啊
云满笔记 2015-02-02
  • 打赏
  • 举报
回复
引用 1 楼 hnwyllmm 的回复:
一般没有大数组不会栈溢出,或者递归调用 静态变量占用的不是栈上的内存 个人认为静态变量太多,是设计的问题,不如直接把静态变量封装起来,做一个单例对象
单例对象如果全局访问的话指针若在多线程的情况下是不是会存在线程安全的问题,毕竟GetInstance返回的是一个指针呢
FancyMouse 2015-02-02
  • 打赏
  • 举报
回复 1
看lz啥时候掉进初始化顺序这个坑。

33,321

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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