- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
消息解析原理.pdf
消息解析原理
撰写:leisland
编辑:leisland
陈银华
日期:2010-5-13
(1) 你必须知道的 parameterList和 predicate
在我们 的消息解析模块 中,使用到了服务器 的库文件 ,主要就是 predicate.h 和
parameterlist.h,它们的作用就是用来处理 S-expression (S 表达式 )的。下面让我们一
起看看我们程序的这两个外来户的神秘面纱吧!
故作深沉的 parameterList
第一次看到它的时候不免会心生恐惧 :parameter是什么意思,parameterList又到底
是干什么活的?不用着急,让我们查下字典吧!字典中 parameter 是这么解释的:
n.
1. (限定性的)因素, 特性, 界限
2. 〈物〉〈数〉参 量, 参数
3. 决定因素;规范;范围
4. 参项
5. 特别因素
经过考虑 ,我们锁定在 了第二项解释上 。Parameter 既然是 “参数 ”的意思 ,那么
parameterList我可不可以理解成“参数数组”呢?我们先看看这个文件的作者对这个类的
注释吧:
class ParameterList manages a list of values. Boost::Any is used as a typesafe
container to realize a sequence of values of arbitrary types.
原来如此,我想我们的猜测是正确的,它就是一个数组 !所不同的是,这个数组的每个元
素都可以是任意类型的数据。一个数组可以存放整数、浮点数、字符,甚至是一个数组,这是
多么奇妙的一件事啊!
让我们进一步看看它有什么吧!在这个类定义的最前面有这两行代码:
public:
typedef std::vectorboost::any TVector;
protected:
TVector mList;
由此我们可以惊讶的发现,所谓的parameterList就是一个 vector容器,这个容器的每个
元素类型是 boost::any类型的!我们可以这样理解,vector 容器就是一个数组,其每个元
素的类型就是 boost::any,这与我们上面所想的完全一致!
好了,看到这儿,我想这个所谓的 parameterList在我们眼里已经没有神秘可言了。让
我们在心里大喊一句:你不就是一个数组嘛!
我想,我们对于 parameterList 了解这么多就足够了。再继续探索它的条件是:你有大
把的空闲时间!
不可小觑的predicate
对于 predicate 我们不可掉以轻心,如果我们忽视它,它就会无视我们的存在 !为什
么这样讲,那是因为在消息解析中,我们要频繁的对predicate进行操作。
我们首先看看程序作者是怎么给predicate下定义的:
class Predicate encapsulates a predicate name together with its list of
parameters.
哦,原 来
您可能关注的文档
- 河南省社科联经团联调研项目.doc
- 河套学院2017年度教学团队推荐表.doc
- 法院受理土地征收补偿纠纷的法律依据.doc
- 注意!装修预算中最常见的十个大坑,别怪我没有告诉你.docx
- 泰安旅游经济开发区凤凰山路北段道路及管线工程施工及监理.doc
- 泰安旅游经济开发区桃花源路(K3+048-K5+300)段道路管.doc
- 泰康资产管理有限责任公司企业年金.doc
- 洪合镇幼儿园公开招聘合同制专任老师专职保健老师.doc
- 活龙坪乡新田坝小学厕所防漏整修工程询价采购公告.doc
- 浅谈任务驱动式教学.doc
- Siemens 系列:S7-300 系列_(1).S7-300系列概述.docx
- 2025揭阳市公务员行测真题含答案详解【实用】.docx
- 2024防城港市公务员行测真题附完整答案详解【全优】.docx
- 2024年药店相关技能鉴定预测复习及参考答案详解【名师推荐】.docx
- 2025大足县公务员行测真题附完整答案详解(全优).docx
- 2024年邢台市公务员行测及参考答案详解【轻巧夺冠】.docx
- 2024黑龙江省公务员行测真题【易错题】附答案详解.docx
- 2025年药店相关技能鉴定练习题及答案详解【历年真题】.docx
- 2025桂林市公务员行测真题附答案详解【能力提升】.docx
- 2025衢州市公务员行测及答案详解【网校专用】.docx
最近下载
- 2024《学前教育法》解读PPT课件.pptx
- 康明发 K280水平关节机器人说明书3.pdf
- 过程控制系统(毕业论文)精馏塔控制系统设计.doc
- 2025年南京市河西新城区国有资产经营控股集团有限责任公司人员招聘笔试模拟试题及答案解析.docx VIP
- 金堂县自来水红旗水库取水工程——原水输水管道复线工程非重大变动环境影响分析.pdf
- 医疗器械的人类受试者临床研究-临床试验质量管理规范(ISO 14155 :2020)中文版.pdf VIP
- 2025年学校体育活动经费预算计划.docx VIP
- 打造企业文化之基助力企业和谐发展.pdf VIP
- 动火作业安全培训.ppt VIP
- BM11_05_BladeEditor.ppt VIP
文档评论(0)