免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
1234下一页
最近访问板块 发新帖
查看: 7747 | 回复: 32
打印 上一主题 下一主题

“值”(value)的概念是什么? [复制链接]

论坛徽章:
6
寅虎
日期:2013-10-10 21:59:16狮子座
日期:2013-11-12 09:24:41金牛座
日期:2013-12-14 17:02:23酉鸡
日期:2014-01-16 12:34:37技术图书徽章
日期:2014-02-15 12:52:31巨蟹座
日期:2014-05-17 14:09:52
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-04-21 11:45 |只看该作者 |倒序浏览
在学习《数据结构》时,数据、数据结构、数据类型、抽象数据类型等等都有明确的定义,可是奇怪的是,值一再地被提到,却没有给出一个明确的说法。这让人非常的难受,有哪位能说说吗?

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

论坛徽章:
0
3 [报告]
发表于 2012-04-21 12:43 |只看该作者
在C语言中,值表示被指定特定类型的对象的内容。值可以从左值转换得到,而左值用来表示对象(正式地,左值表示可能是对象的表达式,若不是对象则引起未定义行为)。特别地,右值=值。
在C++中,值是一种不加另行定义的抽象实体(eneity),基本含义和C类似(对象可以储存值,表达式可以表示值)。但值和右值是不同的,后者是一种值类别(value category),属于对表达式的分类,而不是抽象的目标。

论坛徽章:
0
4 [报告]
发表于 2012-04-21 12:49 |只看该作者
在更一般的意义上,值是指一个抽象重写系统中的表达式按照某种规则求值后最终(无法进一步规约化简的)一个形式化的结果,即范式。
当然这不表示没有被形式化的语义,在语法和语义规则复杂时用起来不方便,尤其是表达式字面上的含义可能不够明确时。大概就是这个原因C++特地把值和右值区分了出来。

论坛徽章:
6
寅虎
日期:2013-10-10 21:59:16狮子座
日期:2013-11-12 09:24:41金牛座
日期:2013-12-14 17:02:23酉鸡
日期:2014-01-16 12:34:37技术图书徽章
日期:2014-02-15 12:52:31巨蟹座
日期:2014-05-17 14:09:52
5 [报告]
发表于 2012-04-21 14:02 |只看该作者
幻の上帝 发表于 2012-04-21 12:49
在更一般的意义上,值是指一个抽象重写系统中的表达式按照某种规则求值后最终(无法进一步规约化简的)一个 ...


哪么,是否可以认为:值是与类型紧密相关的,在一定程度上类型是值的解释?而值是数据的一种存在形式?

在《数据结构 数据结构(C语言版)》[严蔚敏_吴伟民]中给数据类型的定义是:一个值的集合和定义在这个值集上的一组操作的总称。
也就是说,类型确定了值的形式?

论坛徽章:
14
巨蟹座
日期:2013-11-19 14:09:4615-16赛季CBA联赛之青岛
日期:2016-07-05 12:36:0515-16赛季CBA联赛之广东
日期:2016-06-29 11:45:542015亚冠之全北现代
日期:2015-07-22 08:09:472015年辞旧岁徽章
日期:2015-03-03 16:54:15巨蟹座
日期:2014-12-29 08:22:29射手座
日期:2014-12-05 08:20:39狮子座
日期:2014-11-05 12:33:52寅虎
日期:2014-08-13 09:01:31巳蛇
日期:2014-06-16 16:29:52技术图书徽章
日期:2014-04-15 08:44:01天蝎座
日期:2014-03-11 13:06:45
6 [报告]
发表于 2012-04-21 15:00 |只看该作者
God 的令我情不自禁的“Oh,My God!”
虽然我看不懂,但已然能感到你绝对牛逼的样子
顶你

论坛徽章:
0
7 [报告]
发表于 2012-04-21 16:38 |只看该作者
回复 5# fergon

可以这样理解。
并且在C语言中就应该这样(虽然实际上还是有些区别:“一组操作”不是语言规则支持限定的,用C表达不那么直接)。

论坛徽章:
6
寅虎
日期:2013-10-10 21:59:16狮子座
日期:2013-11-12 09:24:41金牛座
日期:2013-12-14 17:02:23酉鸡
日期:2014-01-16 12:34:37技术图书徽章
日期:2014-02-15 12:52:31巨蟹座
日期:2014-05-17 14:09:52
8 [报告]
发表于 2012-04-21 20:42 |只看该作者
非常感谢 幻の上帝!
一直以来,对数据结构和数据类型、值、数据的概念不清楚,虽然现在还是不太清楚,但感觉上还是有点进步了。
在学习scala的时候,越发的发现自己的基础实在是太差了,没法继续学习下去,所以决定回过头来温习一下!
thanks!

论坛徽章:
0
9 [报告]
发表于 2012-04-23 21:52 |只看该作者
表示不解。。。值就是值吗。。。

论坛徽章:
7
丑牛
日期:2013-10-18 14:43:21技术图书徽章
日期:2013-11-03 09:58:03辰龙
日期:2014-01-15 22:57:50午马
日期:2014-09-15 07:04:39丑牛
日期:2014-10-16 14:25:222015年亚洲杯之伊朗
日期:2015-03-16 10:24:352015亚冠之城南
日期:2015-05-31 09:52:32
10 [报告]
发表于 2012-04-23 22:59 |只看该作者
需要解释的这么饶口?
左值是容器,右值是内容。区别在于能否使用= 赋值
一个概念上容易搞混的是,有时候左值也被转化为右值。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP