doc格式,60多页吧,几百道题吧,都有答案吧,看好在下!部分:1.求下面函数的返回值(微软)intfunc(x){intcountx=0;while(x){countx++;x=x&(x-1);}returncountx;}假定x=9999。
答案:8思路:将x转化为2进制,看含有的1的个数。
2.什么是“引用”?申明和使用“引用”要注意哪些问题?答:引用就是某个目标变量的“别名”(alias),对应用的操作与对变量直接操作效果完全相同。
申明一个引用的时候,切记要对其进行初始化。
引用声明完毕后,相当于目标变量名有两个名称,即该目标原名称和引用名,不能再把该引用名作为其他变量名的别名。
声明一个引用,不是新定义了一个变量,它只表示该引用名是目标变量名的一个别名,它本身不是一种数据类型,因此引用本身不占存储单元,系统也不给引用分配存储单元。
不能建立数组的引用。
3.将“引用”作为函数参数有哪些特点?(1)传递引用给函数与传递指针的效果是一样的。
这时,被调函数的形参就成为原来主调函数中的实参变量或对象的一个别名来使用,所以在被调函数中对形参变量的操作就是对其相应的目标对象(在主调函数中)的操作。
(2)使用引用传递函数的参数,在内存中并没有产生实参的副本,它是直接对实参操作;
而使用一般变量传递函数的参数,当发生函数调用时,需要给形参分配存储单元,形参变量是实参变量的副本;
如果传递的是对象,还将调用拷贝构造函数。
因此,当参数传递的数据较大时,用引用比用一般变量传递参数的效率和所占空间都好。
(3)使用指针作为函数的参数虽然也能达到与使用引用的效果,但是,在被调函数中同样要给形参分配存储单元,且需要重复使用"*指针变量名"的形式进行运算,这很容易产生错误且程序的阅读性较差;
另一方面,在主调函数的调用点处,必须用变量的地址作为实参。
而引用更容易使用,更清晰。
4.在什么时候需要使用“常引用”? 如果既要利用引用提高程序的效率,又要保护传递给函数的数据不在函数中被改变,就应使用常引用。
常引用声明方式:const类型标识符&引用名=目标变量名;
例1inta;constint&ra=a;ra=1;//错误a=1;//正确例2stringfoo();voidbar(string&s);那么下面的表达式将是非法的:bar(foo());bar("helloworld");原因在于foo()和"helloworld"串都会产生一个临时对象,而在C++中,这些临时对象都是const类型的。
因此上面的表达式就是试图将一个const类型的对象转换为非const类型,这是非法的。
引用型参数应该在能被定义为const的情况下,尽量定义为const。
5.将“引用”作为函数返回值类型的格式、好处和需要遵守的规则?格式:类型标识符&函数名(形参列表及类型说明){//函数体}好处:在内存中不产生被返回值的副本;
(注意:正是因为这点原因,所以返回一个局部变量的引用是不可取的。
因为随着该局部变量生存期的结束,相应的引用也会失效,产生runtimeerror!注意事项:(1)不能返回局部变量的引用。
这条可以参照EffectiveC++[1]的Item31。
主要原因是局部变量会在函数返回后被销毁,因此被返回的引用就成为了"无所指"的引用,程序会进入未知状态。
(2)不能返回函数内部new分配的内存的引用。
这条可以参照EffectiveC++[1]的Item31。
虽然不存在局部变量的被动销毁问题,可对于这种情况(返回函数内部new分配内存的引用),又面临其它尴尬局面。
例如,被函数返回的引用只是作为一个临时变量出现,而没有被赋予一个实际的变量,那么这个引用所指向的空间(由new分配)就无法释放,造成memoryleak。
(3)可以返回类成员的引用,但最好是const。
这条原则可以参照EffectiveC++[1]的Item30。
主要原因是当对象的属性是与某种业务规则(businessrule)相关联的时候,其赋值常常与某些其它属性或者对象的状态有关,因此有必要将赋值操作封装在一个业务规则当中。
如果其它对象可以获得该属性的非常量引用(或指针),那么对该属性的单纯赋值就
2025/8/9 4:02:35 45KB C C++ 算法 经典
1
主要方法介绍上传//新建一个SmartUpload对象SmartUploadsu=newSmartUpload();//上传初始化su.initialize(pageContext);//限制每个上传文件的最大长度。
su.setMaxFileSize(10000);//限制总上传数据的长度。
su.setTotalMaxFileSize(20000);//设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。
su.setAllowedFilesList("doc,txt");//设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,//jsp,htm,html扩展名的文件和没有扩展名的文件。
su.setDeniedFilesList("exe,bat,jsp,htm,html,,");//上传文件su.upload();//将上传文件全部保存到指定目录intcount=su.save("/upload");
2025/8/8 14:13:16 28KB jsp上传图片
1
通过鼠标射线拾取对象,并拖拽其移动。
具体讲解见https://blog.csdn.net/sunbowen63/article/details/89325314
2025/8/8 8:04:38 3KB Unity 鼠标射线
1
实现qt内嵌ie与js交互,主要实现两种方式,一种js主动调用,一种是qt传递idispatch给js,然后通过该对象调用
2025/8/8 8:26:03 62KB qaxwidget
1
单例模式的扩展及应用。
编写一个类LimitInstanceClass,该类最多可以实例化指定个数实例。
实例的个数用配置文件InstanceLimit.cfg指定。
例如,如果InstanceLimit.cfg的内容为2,则LimitInstanceClass最多可以同时存在2个对象。
LimitInstanceClass的对象有一个整型成员变量id,保存对象的编号;
有一个boolean型变量isBusy,如果该变量的值为true,表示该对象正在被使用,否则该对象空闲;
如果存在空闲的对象,则调用LimitInstanceClass的getInstance()方法会返回一个空闲对象,同时将该对象的isBusy置为true;
如果不存在空闲对象则返回null。
LimitInstanceClass有一个release()方法,该方法将对象的isBusy置为false。
LimitInstanceClass还有一个String类型的成员变量accessMessage,以及一个成员方法writeAccessMessage(Stringmessage),该方法将参数message追加到accessMessage。
LimitInstanceClass的printAccessMessage()方法输出accessMessage的内容。
编写一个线程类AccessLimitInstanceClassThread,在其run()方法中获取一个LimitInstanceClass对象,调用获得的对象的writeAccessMessage(Stringmessage)将自己的线程名写入accessMessage,随机休眠0-5秒,再调用printAccessMessage(),最后调用release()方法。
编写一个UseLimitInstanceClass类,在其main方法中实例化10个AccessLimitInstanceClassThread线程对象,并启动各个线程。
设置InstanceLimit.cfg的内容为3,写出你的程序的运行结果。
2025/8/8 1:10:27 6KB 多例模式 单例模式
1
面对对象的课程设计mfc基础入门的推箱子小游戏,c++源代码
2025/8/6 19:50:34 4KB vc+ c+
1
这是CTPC#接口。
对于如何做这类交易接口有一定的启发作用。
可供开发时参考。
CTPCSharp=========CTP平台的CSharp包装,通过clr/c++中转,全对象,无全局变量,支持多次创建实例.
2025/8/6 12:27:50 6.92MB CTP C# 交易 程序化交易
1
第2章 QQ企业通   2.1 设计思路 28  2.2 关键技术 28  2.2.1 INI文件的应用 28  2.2.2 线程的应用 30  2.2.3 在Socket中发送大容量的消息 30  2.2.4 将流序列化或反序列化为对象 31  2.2.5 用InnerList列表记录信息 31  2.3 设计过程 32  2.3.1 类库的设计 33  2.3.2 客户端注册模块设计 40  2.3.3 客户端登录模块设计 42  2.3.4 客户端QQ模块设计 43  2.3.5 客户端消息发送模块设计 48  2.3.6 服务器端控制台模块设计 52第3章 SQL数据表提取器模块   3.1 概述 56  3.2 关键技术 56  3.2.1 如何备份数据库 56  3.2.2 如何还原数据库 57  3.2.3 如何附加数据库 58  3.2.4 如何分离数据库 59  3.2.5 设置数据库模式 59  3.3 设计过程 61  3.3.1 主窗体 61  3.3.2 获取服务器名称 62  3.3.3 获取所有数据库 63  3.3.4 获取所有数据表 64  3.3.5 备份数据库 66  3.3.6 还原数据库 67  3.3.7 附加数据库 68  3.3.8 分离数据库 70  3.3.9 导出表结构 71  3.3.10 导出数据 74第4章 万能搜索模块   4.1 设计思路 80  4.2 关键技术 80  4.2.1 如何制作一个接口程序 80  4.2.2 实现接口程序的信息互传 80  4.2.3 如何将接口程序加载到其他程序中 82  4.2.4 怎样操作RichtextBox控件的选择文本 82  4.2.5 如何获取数据表中字段的描述信息 83  4.3 设计过程 83  4.3.1 获取数据表中字段的中文信息 84  4.3.2 添加数据表的查询条件 86  4.3.3 向SQL语句中添加括号 89  4.3.4 查询生成后的SQL语句 90  4.3.5 主程序获得接口信息 92第5章 万能打印模块   5.1 设计思路 94  5.2 关键技术 94  5.2.1 打印设置(PrintDocument类) 94  5.2.2 打印预览对话框(PrintPreviewDialog) 95  5.2.3 打印对话框(PrintDialog) 96  5.2.4 获取指定颜色值和字体样式 97  5.2.5 DataGridView控件的相关应用 97  5.3 设计过程 98  5.3.1 打印信息的设置 98  5.3.2 表格样式的设置 100  5.3.3 打印类的设置 101  5.3.4 打印数据信息 108第6章 决策分析模块   6.1 设计思路 112  6.2 关键技术 112  6.2.1 游标的基本操作 112  6.2.2 存储过程的基本操作 115  6.2.3 透视表的基本概念 117  6.2.4 统计表的基本操作 117  6.2.5 单击显示右键菜单 118  6.3 设计过程 118  6.3.1 主窗体的初始化 119  6.3.2 透视表的筛选 127  6.3.3 透视表的设计 130  6.3.4 统计表的设计 132第7章 自定义图表控件   7.1 设计思路 136  7.2 关键技术 137  7.2.1 控件的生成 137  7.2.2 如何在项目中添加控件 137  7.2.3 在“属性”对话框中添加属性 137  7.2.4 用GDI+绘制图形 139  7.2.5 如何在控件上绘制图形 143  7.2.6 获取扇形外弧中心点的位置 143  7.3 设计过程 144  7.3.1 向自定义控件中添加属性 144  7.3.2 获取绘制图表的初始值数据 149  7.3.3 绘制标签框 153  7.3.4 绘制图表中的表格 157  7.3.5 绘制条形图 163  7.3.6 绘制面形图 170  7.3.7 绘制饼形图 174第8章 电子邮件收发模块   8.1 概述 180  8.2 关键技术 180  8.2.1 Base64编码格式 180  8.2.2 SMTP服务 181  8.2.3 POP3协议 184  8.2.4 使用Jmail组件接收
2025/8/4 21:47:24 10.15MB C# winform 典型系统开发模板 开发模块
1
首先确定被评价对象的因素(指标)集和评价(等级)集;
再分别确定各个因素的权重及它们的隶属度向量,获得模糊评判矩阵;
最后把模糊评判矩阵与因素的权向量进行模糊运算并进行归一化,得到模糊综合评价结果
2025/8/3 7:40:25 3KB 模糊综合评判 matlab
1
一、课程题目用JAVA语言编写俄罗斯方块游戏,实现俄罗斯方块游戏的基本功能。
课题主要完成目标是利用小应用程序模版及按钮事件、多线程以及相关事件处理完成俄罗斯方块游戏的操作程序。
应用到的技术包括类的继承,接口的引用以及各类中重要方法的充分运用paint方法绘制游戏区,移动有效性判断locateFlag(),等),以及多线程的应用实现对方块下落速度的控制(线程的应用(线程的创建、run()方法的使用)),完成后可以巩固JAVA知识,能灵活应用JAVA的相关技术。
二、题目分析与设计1、可行性分析项目涉及的相关技术在以前都学习过,能够使用小应用程序游戏界面的展示。
用Image对象创建画布,用paint()方法在画布上绘制棋盘,实现基本界面;
利用线程实现方块的不断下落;
继承KeyAdapter创建其子类GameKeyLister实现变形;
disappear()实现消行,得分。
2025/8/2 15:01:07 509KB JAVA编写
1
共 1000 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡