2014年百度校园招聘南京站PC客户端开发笔试题.doc
《2014年百度校园招聘南京站PC客户端开发笔试题.doc》由会员分享,可在线阅读,更多相关《2014年百度校园招聘南京站PC客户端开发笔试题.doc(5页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、2014年百度校园招聘南京站PC客户端开发笔试题一、问答题:50分1、写出new和malloc、delete和free的区别从面向对象来说,new/delete和malloc/free的区别是:malloc/free只是单纯的进行内存空间的分配和释放,而使用new/delete时,不仅分配了内存空间,若new/delete的是一个类,还会调用类(经测试,基本类型好像不会进行默认初始化)的构造函数或析构函数。简单来说,两者的区别主要有:1. malloc与free是C+/C语言的标准库函数,new/delete是C+的运算符,与”+“、”-“、”*“、”/“有一样的地位。2. new/delet
2、e是可以重载的,而重载之后,就成为了函数。3. malloc在申请内存的时候,必须要提供申请的长度,而且返回的指针是void*型,必须要强转成需要的类型。4. 当new/delete在类中被重载的时候,可以自定义申请过程,比如记录所申请内存的总长度,以及跟踪每个对象的指针。5. new/delete,其实内部也调用了malloc/free。两者的共同点有:1. 都必须配对使用,防止内存泄露。2. 都可用于申请动态内存和释放内存,都是在堆中分配内存。3. free和delete可以释放NULL指针。2、写两个继承类,解释虚表指针和虚表的作用每一个类都有虚表。虚表可以继承,如果子类没有重写虚函数,
3、那么子类虚表中仍然会有该函数的地址,只不过这个地址指向的是基类的虚函数实现。如果基类有3个虚函数,那么基类的虚表中就有三项(虚函数地址),派生类也会有虚表,至少有三项,如果重写了相应的虚函数,那么虚表中的地址就会改变,指向自身的虚函数实现。如果派生类有自己的虚函数,那么虚表中就会添加该项。派生类的虚表中虚函数地址的排列顺序和基类的虚表中虚函数地址排列顺序相同。3、写出static的用法和作用static 是C+中很常用的修饰符,它被用来控制变量的存储方式和可见性。函数内部定义的变量,在程序执行到它的定义处时,编译器为它在栈上分配空间,大家知道,函数在栈上分配的空间在此函数执行结束时会释放掉,这
4、样就产生了一个问题: 如果想将函数中此变量的值保存至下一次调用时,如何实现? 最容易想到的方法是定义一个全局的变量,但定义为一个全局变量有许多缺点,最明显的缺点是破坏了此变量的访问范围(使得在此函数中定义的变量,不仅仅受此函数控制)。 需要一个数据对象为整个类而非某个对象服务,同时又力求不破坏类的封装性,即要求此成员隐藏在类的内部,对外不可见。4、写出计算机的存储器层次,及原因以处理器为中心,计算机系统的存储依次为寄存器、高速缓存、主存储器、磁盘缓存、磁盘和可移动存储介质等7个层次。距离处理器越近的存储工作速度越高,容量越小。其中,寄存器、高速缓存、主存储器为操作系统存储管理的管辖范围,磁盘和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2014 百度 校园 招聘 南京 PC 客户端 开发 笔试
限制150内