基本信息原书名:EffectiveC++:55SpecificWaystoImproveYourProgramsandDesigns(3rdEdition)原出版社:Addison-WesleyProfessional作者:(美)ScottMeyers译者:侯捷丛书名:传世经典书丛出版社:电子工业出版社ISBN:9787121123320出版日期:2011年1月开本:16开页码:336版次:3-1编辑本段编辑推荐传承大师智慧领悟技术本真经典名著翻译良品典藏不二之选编辑本段内容简介有人说c++程序员可以分为两类,读过effectivec++的和没读过的。
世界顶级c++大师scottmeyers成名之作的第三版的确当得起这样的评价。
当您读过这本书之后,就获得了迅速提升自己c++功力的一个契机。
在国际上,本书所引起的反响,波及整个计算机技术的出版领域,余音至今未绝。
几乎在所有c++书籍的推荐名单上,本书都会位于前三名。
作者高超的技术把握力、独特的视角、诙谐轻松的写作风格、独具匠心的内容组织,都受到极大的推崇和仿效。
这种奇特的现象,只能解释为人们对这本书衷心的赞美和推崇。
这本书不是读完一遍就可以束之高阁的快餐读物,也不是用以解决手边问题的参考手册,而是需要您去反复阅读体会的,c++是真正程序员的语言,背后有着精深的思想与无以伦比的表达能力,这使得它具有类似宗教般的魅力。
希望这本书能够帮您跨越c++的重重险阻,领略高处才有的壮美风光,做一个成功而快乐的c++程序员。
编辑本段作译者ScottMeyers是全世界最知名的C++软件开发专家之一。
他是畅销书《EffectiveC++》系列(EffectiveC++,MoreEffectiveC++,EffectiveSTL)的作者,又是创新产品《EffectiveC++CD》的设计者和作者,也是Addison-Wesley的“EffectiveSoftwareDevelopmentSeries”顾问编辑,以及《SoftwareDevelopment》杂志咨询板成员。
他也为若干新公司的技术咨询板提供服务。
Meyers于1993年自Brown大学获得计算机博士学位。
侯捷是计算机技术书籍的作家、译者、书评人编辑本段目录译序vii中英简繁术语对照ix目录xvii序言xxi致谢xxiii导读11让自己习惯c++11accustomingyourselftoc++11条款01:视c++为一个语言联邦11viewc++asafederationoflanguages11条款02:尽量以const,enum,inline替换#define13preferconsts,enums,andinlinesto#defines13条款03:尽可能使用const17useconstwheneverpossible17条款04:确定对象被使用前已先被初始化26makesurethatobjectsareinitializedbeforethey'reused262构造/析构/赋值运算34constructors,destructors,andassignmentoperators34条款05:了解c++默默编写并调用哪些函数34knowwhatfunctionsc++silentlywritesandcalls34条款06:若不想使用编译器自动生成的函数,就该明确拒绝37explicitlydisallowtheuseofcompiler-generatedfunctionsyoudonotwant37条款07:为多态基类声明virtual析构函数40declaredestructorsvirtualinpolymorphicbaseclasses40条款08:别让异常逃离析构函数44preventexceptionsfromleavingdestructors44条款09:绝不在构造和析构过程中调用virtual函数48nevercallvirtualfunctionsduringconstructionordestruction48条款10:令operator=返回一个referenceto*this52haveassignmentoperatorsreturnareferenceto*this
2024/4/1 5:49:43 645KB Effective c++
1
//循环工作表Sheetfor(intnumSheet=0;numSheet<hssfWorkbook.getNumberOfSheets();numSheet++){//o--对应第一张工作表如默认情况下sheet1hssfSheet=hssfWorkbook.getSheetAt(numSheet);//System.out.println("表明"+hssfSheet.getSheetName());if(hssfSheet==null){continue;}//首先获得第一行的数据HSSFRowrowFirst=hssfSheet.getRow(0);//循环行Rowfor(introwNum=1;rowNum<=hssfSheet.getLastRowNum();rowNum++){////获取行对象HSSFRowhssfRow=hssfSheet.getRow(rowNum);if(hssfRow!=null){//构建comp对象CompShowscomp=newCompShows();//初始化所有comp默认为1comp.setTypeOfTransaction(1);//根据列单元格的名字规划数据intt=hssfRow.getLastCellNum();//System.out.println(t+"fffffffffffffsssssssssssss");for(inti=0;i<t;i++){//遍历根据i获得数据和列名HSSFCellhcFirst=rowFirst.getCell(i);//System.out.println(getValueForString(hcFirst)+"========");//if("客户帐号".equals(hssfrow))//获得每一列的列名HSSFCellhc=hssfRow.getCell(i);if("客户名称".equals(getValueForString(hcFirst).toString())||"户名".equals(getValueForString(hcFirst))||"交易户名".equals(getValueForString(hcFirst))){//System.out.println("客户账号"+getValue(hc));//表示该列数据存储的是账户名comp.setName((String)getValueForString(hc));}elseif("账号".equals(getValueForString(hcFirst))||"客户帐号".equals(getValueForString(hcFirst))||"交易账号".equals(getValueForString(hcFirst))){//表示该列数据存储的是账号comp.setAccount((String)getValueForString(hc));//System.out.println("账号"+getValue(hc));}elseif("交易日期".equals(getValueForString(hcFirst))||"交易时间".equals(getValueForString(hcFirst))){
2024/3/29 17:25:39 4.13MB excel 资金流向分析 树结构 转账分析
1
采用VisualC++6.0开发的一个TCP文件传输系统,采用多线程的传输方式,支持断点续传,利用配置文件设置基本的初始化信息。
文件包括源代码和安装包,源代码里包括自定义的文件传输通信协议。
程序采用分层的设计方案,将底层的配置文件和文件操作封装成基本模型组件,并定义了文件传输模型,提供视图和底层模型进行交互的外观;
视图层分离为视图和控制两块,视图信息的更新由控制层进行控制。
2024/3/27 22:32:07 5.08MB TCP 文件传输 断点续传 多线程
1
OLEDM00930驱动代码,包括8080总线,6080总线、SPI总线、I2C的驱动代码
2024/3/27 7:33:16 1.88MB OLED
1
WebDriverIO实现UI自动化1.什么是webdriverIOGithub地址::官网::2.创建一个演示本地必须安装了node(node版本需要在v12.16.1以上)使用node-v查看自己的本地节点版本初始化自己的代码$mkdirwebdriverio-demo&&cdwebdriverio-demo$npminit-y安装WebdriverIOCLInpmi--save-dev@wdio/cli生成配置文件wdio.conf.jsnpxwdioconfig-ywdio.conf.js配置文件可以安装所有必须的包文件创建规格文件创建spec测试文件#mac/liunx$mkdir-p./test/specs#Windows$mkdir-p./test/specs:文件目录查
2024/3/27 2:26:16 27.24MB JavaScript
1
本文介绍的基于CAN总线的智能阀门电动执行器,不仅控制精度高(采用∑-Δ16位模数转换器)、可自动初始化系统参数,而且操作控制方便,通过功能按钮选择相应功能进行设置,通过LCD可准确了解整个设置过程。
同时针对阀门的流量特性特别设计了阀门工作特性曲线设置功能,可对不同阀门工作特性进行补偿。
1
InvenSenseICM-20600/20602初始化和自检程序,使用STM32F4平台,SPI通讯
2024/3/24 4:53:16 3.77MB InvenS 20600 驱动 初始化
1
奥斯卡奖Oscar是一组Vagrant插件和模板,它们基于Vagrant建立了完整的PuppetEnterprise环境。
概要初始化基本的奥斯卡环境:└>vagrantoscarinitAstubVagrantfilehasbeenplacedinthisdirectoryanddefaultconfigurationshavebeenplacedintothe`config`directory.Youcannowrun`vagrantup`tostartyourOscarbuiltenvironment,courtesyofVagrant.定义一组虚拟机:└>vagrantoscarinit-vms\--mastermaster=puppetlabs/centos-7.2-64-n
11KB Ruby
1
新动力人事管理系统:该人事工资管理系统是一款界面美观,绿色的通用人事工资管理软件,软件体积小,功能强大,执行速度快,操作方便。
适合于各行业,企事业单位使用。
主要功能特点如下:包括人事档案管理,工资管理,调动管理,离职管理,复职管理,合同管理,合同续签管理,员工转正管理,培训计划,培训管理,奖惩管理,考核管理,证照管理,考勤管理,强大统计分析1.整个系统用VC开发,功能强大,体积超小,是款优秀的绿色软件,不产生垃圾文件,界面美观,图形导航界面,很容易上手。
2.人事档案管理:档案项目设置齐全,并设有9个自定义项目,每个项目都可方便导出,而无任何障碍。
具体项目包括:考勤管理,人员调动管理、人员辞退管理、员工复职/离职管理、人员保险管理,工作经历管理、社会关系管理、证书资料管理、职称评定管理、职工培训管理、奖惩管理。
人事提醒可自由设置提醒时间。
3.人事统计功能丰富,齐全,可以以各种方式导出,打印,图片导出后方便进行二次处理。
4.打印模块:可通过调整列表的宽度、顺序,模式多变,打印设置支持表格线的随意调整、显示,支持字体设置,及颜色打印。
5.提供灵活、通用、强大的工资管理模块,支持多帐套管理,支持帐套项目扩展,多表连用,适时保存,数据安全,能够满足各种工资管理要求。
6.支持计时工资、计件工资管理,通过设置工资接口,将工资导入选择的帐套中。
7.支持个税的自动计算、银行代发。
打印工资单、工资条、信用卡等工资数据。
8.各种数据都可以导出为EXCEL格式,方便进行再处理。
9.基本资料管理可以预设一些常用数据。
部门管理可自由设置。
10.支持系统的压缩备份,还原,初始化操作。
11.用户权限管理模块:支持多用户,各个用户根据权限设置相应的权限。
12.整个系统很多模块支持万能查询,并专门设置了查询界面。
软件下载:http://www.etosoft.com
1
题目:java拼图游戏姓名学号指导教师(签名)二○一一年七月十四日java拼图游戏[摘要]• 进一步加深对Java语言的理解和掌握:将所学的JAVA知识运用于实践中。
• 课程设计将理论与实践相结合,提供了一个既动手又动脑,独立实践的机会,锻炼我们的分析解决实际问题的能力,提高学生适应实际,实践编程的能力;• 熟练掌握JAVA语言中图形用户界面程序的编写;大体了解怎样用JAVA来编写小游戏的,增强我们实践能力和创新精神的综合培养。
前言编程思路:本练习因为要制作拼图游戏,所以首先要实现图片的导入。
这是通过getImage()函数来实现的,该函数有两个参数,第一个参数指明图片的路径,第二个参数指明图片的名称。
然后,因为要实现图片摆放的随意性,所以要通过initgame()函数来实现。
Initgame()函数是自写函数,在函数体内,通过调用Math.random()函数产生随机数,用来达到图片位置摆放的随意性和随机性。
最后,因为要实现人机交互.,所以首先要通过一系列函数来实现对鼠标事件的监听和响应,这是通过函数addMouseListener(this)和addMouseMotionListener(this)来完成的。
这样程序会区分用户对鼠标不同的操作,正确执行相应的功能。
//首先是程序实现及注释importjava.awt.*;importjava.applet.*;importjava.awt.event.*;publicclasspintuextendsApplet implementsMouseListener,MouseMotionListener{ privateImagepicture; privateGraphicsbuffer; privateImagepic[]; privateImageoff_pic[]; privateGraphicsoff_buf[]; privateImageoff_screen; privateGraphicsoff_buffer; privateImageoff_drag; privateGraphicsoff_drag_buf; privateintmap[][]; privateintran[]; privateintwidth=0; privateintheight=0; privateintlastx; privateintlasty; privateintlast_downx; privateintlast_downy; privateintstepx; privateintstepy; privatebooleanchoose; privatebooleanclick[][]; privatebooleanm_down; privatebooleanm_drag; privatebooleannot_redraw; privatebooleanable; Fontfont1,font2; //程序的初始化 publicvoidinit() {
2024/3/20 15:44:49 799KB java j2ee 课程设计报告
1
共 656 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡