免费注册 查看新帖 |

Chinaunix

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

[C] 为什么这样子不报错,或者给一个什么警告也好? [复制链接]

论坛徽章:
5
技术图书徽章
日期:2013-11-07 13:21:58技术图书徽章
日期:2013-12-07 10:34:46技术图书徽章
日期:2014-04-23 08:50:31双鱼座
日期:2014-09-16 09:12:34亥猪
日期:2015-01-23 13:37:49
11 [报告]
发表于 2011-10-30 09:54 |只看该作者
本帖最后由 nketc 于 2011-10-30 09:57 编辑

回复 10# L_kernel


    俺这儿说的名字空间,不是c++或其他语言里的namespace,回复的时候就担心有人误解。
lz的例子虽然名字相同,但是这些名字属于不同的语法范围(这才是俺说的不同的“名字空间”),所以没啥冲突。举个例子,就像聊天用的QQ和某个汽车QQ。
虽然都是水,但井水不犯河水。
-----------------------ps:
这儿的名字空间,是我胡编的,lz别上当。

论坛徽章:
0
12 [报告]
发表于 2011-10-30 10:10 |只看该作者
回复  L_kernel

对 lable 是函数作用域而不是块作用域感到惊讶的同学,可以问问使用js的同学是什么感受……

OwnWaterloo 发表于 2011-10-30 01:14



这个其实不应该感到惊讶的。咱们用lable就是在函数内部跳来跳去。你可以跳到for循环中,可以跳到if的语句里面。

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

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

论坛徽章:
0
15 [报告]
发表于 2011-10-30 12:10 |只看该作者
本帖最后由 幻の上帝 于 2011-10-30 13:59 编辑

回复 14# pmerofc
+UINT_MAX+1
+UINT_MAX+2

论坛徽章:
0
16 [报告]
发表于 2011-10-30 12:11 |只看该作者
回复 9# OwnWaterloo


话说我能吐槽function scope是专为label name准备的么……

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
17 [报告]
发表于 2011-10-30 12:21 |只看该作者
回复 10# L_kernel

struct x x; 的解释确实是名字空间name space(s) —— ordinary/member/tag/label ……
与 C++ 的那个 namespace 不是一回事 —— 貌似我忘记提到这点引起误会了……

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
18 [报告]
发表于 2011-10-30 12:37 |只看该作者
回复 12# davelv

第1次实际使用时被惊讶了……

记得是写了一个宏,展开后是内嵌汇编(msvc intel syntax),其代码需要一个label。
测试没问题……
实际使用时,某函数有多个地方使用该宏,就错了……

于是就学会了与 __LINE__ 一起用作 label 的技巧……


js里普通的变量都是function scope的……
scope这种不弄明白就无法编写正确程序的东西, 记得一个stackoverflow的讨论js的帖里被称"区分专家的标志"

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
19 [报告]
发表于 2011-10-30 12:40 |只看该作者
回复 15# 幻の上帝

+UINT_MAX+1,不是+0么?

论坛徽章:
2
青铜圣斗士
日期:2015-11-26 06:15:59数据库技术版块每日发帖之星
日期:2016-07-24 06:20:00
20 [报告]
发表于 2011-10-30 12:41 |只看该作者
回复 16# 幻の上帝

A label name is the only kind of identifier that has function scope.

ISO C自带吐槽
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP