免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: fender0107401
打印 上一主题 下一主题

[C] 我觉得在C里面static和register是2个有点搞笑的特性。 [复制链接]

论坛徽章:
89
水瓶座
日期:2014-04-01 08:53:31天蝎座
日期:2014-04-01 08:53:53天秤座
日期:2014-04-01 08:54:02射手座
日期:2014-04-01 08:54:15子鼠
日期:2014-04-01 08:55:35辰龙
日期:2014-04-01 08:56:36未羊
日期:2014-04-01 08:56:27戌狗
日期:2014-04-01 08:56:13亥猪
日期:2014-04-01 08:56:02亥猪
日期:2014-04-08 08:38:58程序设计版块每日发帖之星
日期:2016-01-05 06:20:00程序设计版块每日发帖之星
日期:2016-01-07 06:20:00
51 [报告]
发表于 2011-02-21 16:41 |只看该作者
“反正”真是神词啊
想找借口但是无借口可找可是又不得不找借口时,这个时候就到它出场了
sep 发表于 2011-02-21 12:41


哎呀,你说的太有道理了。

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
52 [报告]
发表于 2011-02-21 17:01 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
2
程序设计版块每日发帖之星
日期:2015-06-17 22:20:00每日论坛发贴之星
日期:2015-06-17 22:20:00
53 [报告]
发表于 2011-02-21 17:03 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
54 [报告]
发表于 2011-02-21 18:17 |只看该作者
本帖最后由 baozhao 于 2011-02-21 18:21 编辑

回复 53# pmerofc


    你的意思是C函数(包含外部变量)缺省范围为file scope?
    如果是这点的话我赞同

论坛徽章:
0
55 [报告]
发表于 2011-02-21 19:56 |只看该作者

论坛徽章:
0
56 [报告]
发表于 2011-02-22 09:52 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
57 [报告]
发表于 2011-02-22 10:40 |只看该作者
不过我都是靠添加模块名前缀来防止冲突的。
fender0107401 发表于 2011-02-20 22:28



这个是不靠谱的。。。不仅累赘冗长而且现实时常模块也不是那么清晰

static经常用于大型程序中的各个模块中的全局性变量,如数据库连接句柄、某资源句柄、或是你程序中自定义的一套东西,一般仿面向对象的手法写一套get/set函数,此时可以在这些全局变量前加static来隐藏其全局性,防止误改写。

其实C++里头的namespace可以说是对static的一种改良,C的符号scope是不是全局就是局部特性,一般用static区别这两种scope。
另外说句其实C++的做法就是靠加“前缀”只不过是在目标代码符号级别,呵呵,这个扯远了。

论坛徽章:
0
58 [报告]
发表于 2011-02-22 13:09 |只看该作者
我写代码时习惯用上static,可以减少namespace的污染和冲突。

论坛徽章:
0
59 [报告]
发表于 2011-02-22 13:49 |只看该作者
static除了名字起得不好,其他都还OK啦。
用前缀也不错的,前提是你已经想好了一个非主流式的格式。
如果对程序缺少安全感,想要更严格的控制作用域,那还是选前者吧,感觉lz是这样的人。

论坛徽章:
0
60 [报告]
发表于 2011-02-22 14:12 |只看该作者
static还是靠谱的

比如在头文件中定义了某个函数,但是此头文件被多个source file引用,为了防止这个函数被本source file之外的其他文件引用,就可以加上static
在大型的程序中,经常能看见这样的用法

不知道我说的对不对,请指教
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP