登录
首页 » Others » 基于BP人工神经网络的股票数据预测模型

基于BP人工神经网络的股票数据预测模型

于 2020-11-28 发布
0 265
下载积分: 1 下载次数: 3

代码说明:

采用BP神经网络对150组股票交易数据进行拟合,拟合精度较好。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 车辆动力学及控制(拉贾马尼)
    本文主要介绍了车辆动力学及控制,主要内容包括车辆侧向动力学、自动车道保持的转向控制、车辆纵向动力学、车辆纵向控制、自适应巡航控制等等。汽车先进技术译从车辆动力学及控制(美) Rajesh Rajamani著王国业江发潮等译机械工业出版社本书主要讨论了足以体现车辆动力学特征的,而且能够满足设计车辆控制系统需要的车辆动力学模型,给出了这些模型的特性,和由这些模型开发出的实际汽车控制系统的基本结构。本书涵盖了巡航控制、自适应巡航控制、制动防抱死系统、车道自动保持系统、高速公路自动行驶、横摆稳定性控制、发动机控捌、被动悬架、主动悬架和半主动悬架、轮胎模型以及轮胎路面参数识别,书中特别介绍了几种目前科研中经常采用的轮胎模型。本书可供汽车行业和大专院校里从事控制系统研究的工程师和专家们参考,也可用作汽车专业研究生的教材。Vehicle Dynamics and ControlRajesh RajamaniOriginal ISBN 9780-387-26396-9Translation from the English language edition:Vehicle Dynamics and Control by Rajesh RajamaniCopyright Rajesh Rajamani 2006Published by Springer Science Business Media, InAuthorized Simplified Chinese edition is published by cmP,All Rights Reserved本书中文简体版由 Springer出版社授权机减工业出版社独家出版发行版权所有,侵权必究。北京市版权局著作权合同登记号:01-2009-3284图书在版编目(CI)数据车辆动力学及控制/(美)拉贾马尼( Rajamani,R)著:王国业,江发潮等译北京:机械工业出版社,2010.11(汽车先进技术译丛书名原文: Vehicle Dynamics and ControlIsBN9787-11l-31283-3I.①车…Ⅱ.①拉…②王…③江…Ⅲ①汽车—动力学Ⅳ.①U461.1中国版本图书馆CI数据核字(2010)第132639号机被工业出版社(北京市百万庄大街22号邮政编码10007)策划编辑:徐巍责任编辑:刘煊版式设计:霍永明责任校对:刘怡丹封面设计:鞠杨责任印制:杨曦北京中兴印刷有限公司印刷2011年1月第1版第1次印刷169mm×239mm,19印张·369千字00g1—3000册标准书号:ISBN978-7-111-31283-3定价:5900元凡购本书,如有缺页、倒页、脱页,由本社发行鄧调换电话服务网络服务社服务中心:(010)88361066销售一部:(010)68326294门户网:htp://w.cmpbook.com销售二部:(010)88379649教材网http://www.cmpedu.com读者服务部:(010)68993821封面无防伪标均为盗版译者的话本书论述了能足以体现车辆动力学特征、满足车辆控制系统设计需要的车辆动力学模型的建立方法以及车辆动力学控制系统的设计。本书较其他同学论若具有深入、系统和实用的特点,是一本既有理论研究意义又有实际应用价值的参考书。Rajamani教授是明尼苏达大学机减工程系先进控制和微型传感器实验室主任, IEEE/ ASME学报编委。我们关注 Rajamani教授的研究是从2002年他发表的“基于GPS实时识别轮胎-路面摩擦系数”的文章开始的, Rajamani教授长期从事车辆控制技术领域的研究,发表重要论文70余篇,涉及到本书内容的主要方面。2006年我们在网上查到此书,看后觉得此书具有理论研究和实际应用价值,对我国从事车辆动力学及其控制领域的科研人员会有具体指导和帮助,于是有了翻译此书的想法。翻译和出版工作得到机械工业出版社汽车分社的大力支持,在此表示由衷感谢。本书第1章、第2章、第3章、第6章、第7章、第8章由王国业翻译,第4章、第5章、第9章、第10章由江发潮翻译;第11章、第12章、第13章第14章由侯春敏翻译,李淑艳老师审译了部分章节,樊月珍老师参与了本书的部分翻译工作。全书终稿由中国农业大学余群教授审阅,叶阳、曾蔚英、付燕荣、李元、章娟丽、刘恩托、朱妮、付晓丹、肖龙等参与了本书的部分翻译整理工作,在此表示感谢由于水平所限,本书难免有翻译不当之处,欢迎读者提出宝贵意见。译者言作为一名车辆工程专业研究生的指导教师,我经常觉得需要一本对有关汽车控制系统的研究成果及其应用进行总结,以及建立开发这些系统所需的车辆动力学模型的论著。已经出版的为数不多的几本介绍车辆动力学的论著已远远不能满足当今车辆控制系统工程师的需要。车輛控制系统工程师们需要既简单又足以体现车辆动力学特征的,最主要地还要满足设计车辆控制系统需要的车辆动力学模型。本书将试图介绍这样的模型,以及由这些模型开发出的实际汽车控制系统。本书涵盖了巡航控制、自适应巡航控制、制动防抱死系统、车道自动保持系统、高速公路自动行驶、横摆稳定性控制、发动机控制、被动悬架、主动悬架和半主动悬架、轮胎模型以及轮胎一路面参数识别。本书特别介绍了几种在文献中经常采用的轮胎模型。随着汽车在全球范围内应用日广,发展能够更好地适应公路系统,更节能、更舒适、更安全,同时对环境的破坏达到最小的交通体系就显得更加重要。为了达到这诸多方面的,甚至互相冲突的要求,现代汽车越来越倚重于综合应用传感器、调节器和反馈控制的电子控制系统。本书适合供那些在汽车行业和大专院校里从事这类控制系统研究的工程师和专家们参考,同时也适合作为车辆动力学和控制方向的研究生教材。在本书出版后如果发现有排版错误和其他错误将会在下面的网址上及时改Eohtlp://www.menet,utmulledu/wrajamani/vde.htrula如果读者发现了这些错误能够告知我们,我们将会很感激。Rajesh Rajamani译者的话前言第1章概论画画画画画画画b画面晶面量垂西酯面鲁1.1驾驶员辅助系统n■t非自聊t·虚章。售日·申量F·鲁,,·鲁费鲁日···。里自甲日····翻1.2主动稳定性控制系统……1.3平顺性……1.4用于解决交通堵塞的技术着福日画_a自面a自ma曲自at_幽由■面。■1虚自面_虚虚曲自鲁1.4.1自动化公路系统……··。如口·着。中自··由·非·“非·自非abt·士;普1.4.2“交通友好”的自适应巡航系统1.4.3窄型工勤车辆倾斜控制日章∮,面P鲁曹鲁鲁·音·曾1.5排放和燃油经济性……画··。画看·画翻福而福藤·酯番酯串■着昌■备晶鲁音看串看非。着自着即息是t自自1.5.1混合动力汽车…1.5.2燃料电池汽车咖_物鲁咖D自t曲自电P翻4567888参考文献第2章车辆侧向动力学画“面垂“垂画“由音晋音画面音“请普非音番自面音“普普香F;新鲁音曹鲁鲁鲁鲁2.1商业应用开发中的汽车侧向运动控制系统2.1.1车道偏离预警系统2.1.2车道保持系统122.1.3横摆稳定控制系统132.2车辆侧向运动的运动学模型……………………………………………142.3两轮车辆侧向动力学的模型…2.4相对旋转坐标系中点的运动222.5关于路面误差力学模型的讨论……………………………;……232.6动力学模型中的横摆角速度和侧偏角的讨论………2627从车辆坐标系到地面坐标系………………272.8路面模型中:要幽妻脂中着康曹垂萨曹萨者要p曹普鲁,中曹沿。围自·看_“翻d垂垂更吾道垂音自垂曹业函,2.9本章小结参数表参考文献32Ⅵ车辆动力学及控制第3章自动车道保持系统的转向控制·着费·新单和着群;音「+吾吾吾请·非非自音343.1状态反馈343.2动力学方程的稳态误差……………………363.3稳态转向…………………………………393.3.1稳态转向的转向角393.3.2方向角误差能否达到零值…423.3.3非零方向角误差的影响=“m“++..=4·:.:.;4:·:···罗3.4考虑不同的纵向速度433.5输出反馈3.6全反馈闭环系统………………………443.7比例控制闭环系统分析473.8带超前补偿器的回路分析……523.9带超前补偿器的仿真性能……553.10闭环系统性能分析……………………………………563.10.1随车速的性能变化…563.10.2随传感器位置的性能变化…583.1I带超前传感器测量的补偿器设计………593.12本章小结…………………………………………………………60参数表61参考文献∵…………………62第4章车辆纵向动力学4.1整车纵向动力学644.1.1空气阻力■■面654.1.2轮胎纵向力……………………………………………………………664.1.3纵向轮胎力和滑动率之间的依赖关系684.1.4滚动阻力∴………………--4694.1.5法向载荷的计算…………………………………………………714.1.6轮胎有效半径计算4.2传动系统动力学…………………734.2.1变矩器………………………………………………………744.2.2传动系的动力学模型754.2.3发动机动力学…………………74.2.4轮胎动态性能774.3本章小结………………"78參数表目录Ⅶ参考文献自要面世曾曾t世d百哥;,.79第5章车辆纵向控制815.1引言……………………………………………………815.1.1自适应巡航控制系统…815.1.2避撞系统…画福音画看新面晶825.1.3自动化公路系统5.2纵向自动控制的优点……………………835.3巡航控制系统士由…845.4巡航控制系统的上层控制器…………855.5巡航控制系统的下层控制器e:曹e4吾垂普看!串·垂事当星量■看『四■鲁875.5.1根据期望加速度计算发动机转矩…8755.2发动机控制………………鲁量吾日8956防抱死制动系统……895.6.I目的…………………曹音一t自普曹晋普推會鲁量曾·曹曾曹鲁·中·香5.6.2ABS的功能925.6.3基于减速度门限值的算法……………………………………………935.6.4其他ABS控制算法………9656.5关于ABS的近期研究出版物…975.7本章小结…………………………………………97参数表………………………………………………………97参考文献第6章自适应巡航控制…11006.1引言1016.2车辆跟随准则…………1026.3控制系统结构……………………………1036,4车队的稳定行驶1046.5固定车距与自主控制…1046.6固定时距控制策略的自主控制…曹曹看鲁费普音·中自鲁音曹鲁鲁鲁鲁鲁吾平6.6.1基于CTG车距控制策略的车队稳定行驶……1076.6.2典型的延迟值1096.7过渡控制……………………11167.1过渡控制器的必要性…………………………………………………11167.2通过R-R图设计转换控制器…1126.8下层控制器…11569本章小结………………………………………116Ⅷ蠡车辆动力学及控制参数表鲁翻…116参考文献…………………………………117第6章附录…………………………………118第7章车队的纵向控制………………1217.1自动化髙速公路系统……………………12172自动化高速公路系统中的车辆控制……………………1217.3纵向控制结构…1227.4车辆跟随准则……………………1237.4.1单个车辆的稳定行驶…1237.4.2车队的稳定行驶1247.5信号及系统范数的背景2447.5.1信号的范数………………………1247.5.2系统的范数……………………………1257.5.3利用诱导范数矸究信号放大257.6保证车队稳定行驶的设计方法………1277.7固定车距的自主控制…………………………………………………1277.8采用无线通信的固定车距控制策略7.9实验结果………b。都…………1317.10下层控制器………………………………………………………1327.11参数未知车辆的自适应控制13311.1重新定义符号…………………………1337.11.2自适应控制器………………………………………1347.12本章小结………………………………………………………………136参数表··,·翻·137参考文献…………138第7章附录…垂最车·………………139第8章电子稳定性控制………………………1418.1引言……………………141音·非·。·。。非4··非·。非非m中··,·即··量着,··音章·8.1.1稳定性控制原理1418.1.2汽车厂商开发的稳定性控制系统1428.1.3稳定性控制系统的种类…………………………………………………1428.2差动制动控制系统…s………14382.1车辆动力学模型……1438.2.2控制系统架构………………………………………………1458.2.3理想的横摆角速度中自鲁··即··中·鲁··中·更·鲁·鲁助··使曹·中兽,46
    2021-05-07下载
    积分:1
  • ieee10机39节点系统数据
    ieee10机39节点系统数据,主要是BPA数据!
    2020-12-04下载
    积分:1
  • 双馈风力发电机并网
    仿真小型双馈异步风力发电机并网,并且表达出其输出特性
    2021-05-09 16:58:35下载
    积分:1
  • 单片机可控硅斩波调压灯光控制
    单片机可控硅斩波调压灯光亮度控制,通过0-10V信号源输入采样,实现输出电压0-220V连续变化。输出电压十分稳定,无闪光现象。
    2020-12-04下载
    积分:1
  • 经典教材:雷达原理ppt
    很经典的教材雷达原理的ppt,第四版,非常棒
    2020-12-06下载
    积分:1
  • 个人博客系统PHP源码
    一套完整的个人博客系统PHP源码,本人亲测可用。
    2020-12-06下载
    积分:1
  • matlab绘制相图
    用matlab绘制相图,比较实用的小代码,用于绘制微分方程的图形。
    2020-11-27下载
    积分:1
  • TSPMATLAB实现
    【实例简介】使用MATLAB中的yalmip工具箱,调用cplex求解TSP问题
    2021-11-03 00:34:25下载
    积分:1
  • cc2540串口透传源码
    cc2540串口透传源码 蓝牙4.0源码.
    2020-12-08下载
    积分:1
  • 华为C++语言规范
    华为C++语言编程规范,内部资料se语言编程规范内部公开目录0说明前言代码总体原则与语言编程规范的关系规范实施、解释术语定义1常量62初始化和类型转换声明、定义与初始化类型转换3函数12内联函数函数参数函数指针4类...14类的设计构造、赋值和析构继承重载5作用域、模板和C+其他特性..25作用域模板其他6资源分配和释放287异常与错误处理33异常错误处理策略8标准库369程序效率语言特性的性能分级语言的性能优化指导华为机密,未经许可不得扩散第页共页se语言编程规范内部公开0并发4511风格48标小符命名与定义排版注释文件组织12可移植性(兼容性).4913全球化52多语言输入输出单一版本时区夏令时14业界编程规范和书籍55业界编程规编程指南《编程规范条规则、准则与最佳实践》《微软一站式示例代码库》扩展学习材料华为机密,未经许可不得扩散第页共页se语言编程规范内部公开语言编程规范0说明前言随着业务的发展和产品架构的演进,越来越多的传统电信产品使用C++语言,很多新型产品更是把C+作为首选。C艹继承于C,包含C的所有特性,同时又增加了新语言特性,如面向对象、泛型设计等。目前C-+使用现状是:基础技能薄弱,陷入很多误区,不能很好地发挥C++的作用。为了帮助团队合理使用C-+,规避语言陷阱,特制定本规范代码总体原则毘C语言编稈一样,C++编稈遵循通用原则:1、清晰第一。清晰性是易于维护、易于重构的程序必需只备的特征。2、简洁为美。简洁就是易于理解并且易于实现。3、选择合适的风格,与代码原有风格俣持一致。除此之外,C+编程还应该注意以下方面1、正确使用C+面向对象技术使得程序结枃清晰、简单,提高了代码的重用性,但又隐藏了很多內部实现细节,内存模型复杂,不小心会误入陷阱,比如:拷贝构造函数,赋值操作符,析构函数,重载等为了简化代码,改善代码结构,提髙编程效率,一些团队引入新特性和第三方库,如:模板技术、STL、Bost等,由于缺乏足够的理解,使用中屡次发生问题,比如对达代器( Iterator)使用不当导致功能失常,甚至稈序崩溃。所以,必须深入理解C艹+对象布局、內存模型等,了解编译器背后所做的处理,才能在编程中知道如何止确使用2、安全高效跟其他流行的高级语言、脚本语言相比,C艹+运行速度快,天然适合开发核心通信部件,但是这些部件对稳定性的要求非常高,不容许发生异常、失效以及崩溃。C艹-具有直接操作硬件、访问內存的能力提供了指针、地址运算等灵活特性,稈序员可以仟意发挥,增加了出锖的几率。所以在追求速度与灵峾性的冋同时,一定要注意保持程序的健壮性。在増强代码稳定性过桯中,程序员通常采用i-else等防御式编程,使得代码非常臃肿,可适当采用RAIⅠ、智能指针等技术华为机密,未经许可不得扩散第页共页se语言编程规范内部公开与语言编程规范的关系本文在《华为技术有限公司C语言编程规范》(简称C规范)基础上,通过详细阐述如何规避C++语言复杂性,避免C+-的低级错误,确保有效使用C-+语言特性,代码易于维扩。C规范里面相同的内容,夲规范不再重复。例如头文伻、变量、表达式、代码编辑与编译、可测试性安全性、单元测试等章节经过审妉,完全适合C+,本规范不再重复。标识符命名与定义、注祥、排版与柊式等内容也适合C++,仅仅添加了少量的C+特有的规则和建议,合并成风格一章;涵数章节增加了內联函数、函数参数等内容;可移植性増加了64位以及C艹+专冇的薮据转换等內容;质量保证也符合C艹+的需要,将资源分配和释放部分C艹特有的内容编写成单独章节;宏、常量也符合C++,考虑到C++普遍使用 cons t,增加了常属性( const)章节。新増初始化和类型转换,类,作用域、模板与C艹-其他特性,异常与错误处理,并发,全球化等C艹特有的内容本规范和C规范有沖突的地方,以本规范为准。规范实施、解释本规范制定了编写C+语言程序的基本原则、规则和建议。木规范适用于公司内使用C++语言编码的所有软件。本规范自发布之日起生效,对以后新编写的和修改的代码应遵守本规范本规范由软件工稈体系发布和维护。实施屮遇到问题,可以到论坛http://hi3ms.huaweicom/group/1735/threads.htmi上讨论。在某些情况下需要违反本规范给出的规则时,相关团队必须通过一个正式的沇程来评审、决貪规则违反的部分,个体程序员不得违反本规范中的相关规则。术语定义原则:编程时必须坚持的指导思想规则:编程时强制必须遵守的约定。建议:编程时必效加以考虑的约定说明:对此原则/规则/建议进行必要的解释。示例:对此原则/规则/建议从好、不好两个方面给出例子。延伸阅读材料:建议进一步阅读的参考材料。常量不变的值更易于理餡、跟踪和分析,所以应该尽可能地使用常量代替变量,定义值的时侯,应该把 const作为默认的选项规则1.1使用 const常量取代宏华为机密,未经许可不得扩散第页共页se语言编程规范内部公开说明:宏是简单的文本替换,在预处理阶段时完成,运行报错时直接报相应的值;跟踪调试时也是显示值,而不是宏名;宏没有类型检查,不安全;宏没有作用域。示例defi: e MAX MSISDN LEN(20)//不好的例子const int MAX MSISDN LEN=20;/好的例子规则1.2一组相关的整型常量应定义为枚举说明:之所以使用枚举,基于:●枚举比# define或 const int更安全,因为编译器会检查参数值是否是否位于枚举取值范围内,从而避免错误发生。示例//好的例子enum DayofWeek( sunday, monday, tuesday, wednesday, thursday, friday, saturday)ienum Ccloriblack, blue, whiter red, purp_e]BOOL CclorizeCalendar (DayofWeek today, Color todays Color)Coorizeca1 endor(b1ue, sunday);//编译报错,1ue和 Sunday位置错误//不好的例子:const int sunday=0iconst int monday= 1const int b⊥acKconst int blueBOOL CclorizeCalendar (int today, int todays ColorCoorizecalendar(blue, sunday);//不会报错当枚举值需要对应到具体数值时,须在声明时昰示赋值。否则不需要昰式赋值,以避免重复赋值,降低维护(增加、朋除成员)工作量示例好的例子:s协议里定义的设备I值,用于标识设备类型cnum TDcv-cclypcDEV UNKNOWN --l,DEV DSMP 0DEV工SMGDEV WAPPORTAL=2程序内部使用,仅用于分类的情況,不应该进行显式的赋值。示例/好的例子:程序中用来标识会话状态的枚举定义enum TSessionstateSESSION STATE INITISESSTON STATE CTOSEDSESSION STATE WA工TING●应当尽量避免枚举值亘复,如必须重复也要用己定义的枚举来修饰,例如:typed f enumRTCP SR 200,RTCP MIN TYPE RTCP SR//must be lowest known typeRTCP RR华为机密,未经许可不得扩散第页共页se语言编程规范内部公开RTCP SDES= 202RTCP BYE203,RTCP APP204,RTCP RTPFB=205RTCP PSEB =206/RTCP XR207RTCP RSI =208RTCP PUBPCRTS =209RTCP MAX TYPF= RTCP PUB PORTS //must be highest known typertcp type ti规则1.3不相关的常量,即使取值一样,也必须分别定义说明:一个常量只用来表示一个特定功能,即一个常量不能有多种用途。示例:/好的例子:协议和协议B,于机号( (MSISDN)的长度都是20。unsigned const int. A MAX MST SDN LEN0;unsigned const int B MAX MSI SDN LEN 20//或者使用不同的名字空间namespace alibunsigned const int MAX MSISDN LEN=20;namespace blibunsigned const int MAX MSISDN LEN =20建议1.1尽可能使用 const说明:在声明的变量或参数前加上关键字 const用于指明变量值不可被篡改。类成员函数加上 const限定符表明该函数不会修改类成员变量的状态使用 const常见的场景:函数参数:传递引用时,如果函数不会修改传入参数,该形参应声明为 const。成员函数:访问函数(如get函数):不修改任何数据成员的函数:未调用非 cons t函数、未返回数据成员的非 const指针或引用的函数。数据成员:如果数据成员在对象构造之后个再发生变化,可将其定义为 cons t。2初始化和类型转换声明、定义与初始化规则2.1禁止用 memcpy、 memset初始化非POD对象说明:PO全称是“ Plain0 ld Data”,是C++98标准(ISO/IEC14882, first edition,19980901)中引入的一个概念,POD类型主要包括int,char, float, double, enumeration,woid,指针等原始类型及其集合类型,不能使用封装和面对对象特性(如用户定义的构造/赋值/析构函数、基类、虚函数等)。华为机密,未经许可不得扩散第页共页se语言编程规范内部公开由于非P0D类型比如非集合类型的 class对象,可能存在虚函数,内存布局不确定,跟编译器有关,滥用内存拷贝可能会导致严重的问题即使对集合类型的 class,使用直接的内存拷贝和比较,破坏了信息隐蔽和数据保护的作用,也不提倡memcpy、 memset操作示例:×××产品程序异常退出( corc dump)。经过现场环境的模似,程序产生 COREDUMP,其原因是:在初始化函数内使用 memset(this,0,sizeof(*this))进行了类的初始化,将类的虚函数表指针被清空,从而导致使用空指针。解决方案:使用C艹构造函数初始化,不要便用 memset函数初始化类对象建议2.1变量使用时才声明并初始化说明:变量在使用前未赋初值,是常见的低级编程错误。使用前才声明变量并同时初始化,非常方便地避免了此类低级错误。在函数开始位置声明所有变量,后面才使用变量,作用域覆盖整个函数实现,容易导致如下问题:程序难以理解和维护:变量的定义与使用分离变量难以合理初始化:在函数丌始时,经常没有足够的笮息进行变量初始化,往往用某个默认的空值(比如零)来初始化,这遥常是一种浪费,如果变量在被赋于有效值以前使用,还会导致错误。遵循变量作用域最小化原则与魷近声明原则,使得代码更容易阅读,方便了解变量的类型和初始值特别是,应使用初始化的方式替代声明再赋值示例:不好的例子:声明与初始化分离string name;//声明时未初始化:调用缺省构造函数nane=" zhangsan";//再次调用赋值操作符函数;声明与定义在不同的地方,理解相对困难好的例子:声明与初始化一体,理解相对容易string name(" zhangsan");//调用一次构造函数建议2.2避免构造函数做复杂的初始化,可以使用“init”函数说明:正如函数的变量都在函数内部初始化一样,类数据成员最好的初始化场所就是构造函数,数据成员都应该尽量在构造函数中初始化以下情况可以使用init(函数来初始化:需要提供初始化返回信息。数据成员初始化可能抛异常。●数据成员初始化大败会造成该类对象初始化失败,引起不确定状态数据成员初始化依赖this揞针:构造凶数没结束,对象就没有构造出来,构造凶数內不能使用this成员数据成员初始化需要调用虚函数。在构造函数和析构函数中调用虚函数,会导致未定乂的行为示例:数据成员初始化可能拋异常:cl ass CPPRule华为机密,未经许可不得扩散第页共页se语言编程规范内部公开publicCEPRule(): size (0), res (null)i//仅进行值初始化long init (int size)//根据传入的参数初始化size,分配资源resr vateint siResourceptrx res//使用方法CPPRule ait(100)建议2.3初始化列表要严格按照成员声明顺序来初始化它们说明:编译器会按照数据成员在类定义中声明的顺序进行初始化,而不是按照初始化列表中的顺序,如果打乱初始化列表的顺序实际上不起作用,但会造成阅读和理解上的混淆;特别是成员变量之间存在依赖关系时可能导致BUG示例://不好的例子:初始化顺序与声明顺序不一致class Emp-oyeepublic:Employee(const charx firstName, const charx lastNamefirstName (firstName), lastName (lastName)r email (firstName.+-astName t huawei. com)ipr-vate:string email, firstName lastName类定义emai1是在 firstName, lastName之前声明,它将首先初始化,但使用了未初始化的ratNam和 lastName,导致错误。在成员声明时,应按照成员相互依赖关系按顺序声明。建议2.4明确有外部依赖关系的全局与静态对象的初始化顺序说明:如果全尻对象A的成员变量有外部依赖,比如依赖另外一个全局变量B,在A的构造函数中访问B,隐含的规则就是B先于A初始化,然而全局与静态对象的初始化与析构顺序未有严格定义,无法确保B已经完成初始化,而每次生成可执行程序都可能发生变化,这类BUG难以定位。通常采用单件( Singleton)模式或者把有依赖关系的全局对象放在一个文件中定义来明确初始化顺序冋一个文件屮,若全局对象a在全局对象b之前定义,则a一定会在b之前初始化;但是不同文件中的全局对象就没有固定的初始化顺序。可以在main0或 pthread once(内初始化一个运行期间不回收的指针类型转换避免使用类型分支来定制行为:类型分支来定制行为容易出错,是企图用C+编写C代码的明显标志。这是一种很不灵活的技术,要添加新类型时,如果忘记修改所有分支,编译器也不会告知。使用模板和虚函数,让类型自己而不是调用它们的代码来决定行为。华为机密,未经许可不得扩散第页共页
    2020-12-12下载
    积分:1
  • 696516资源总数
  • 106409会员总数
  • 8今日下载