码迷,mamicode.com
首页 > 其他好文 > 详细

简单的cocos2dx笔试题

时间:2016-01-31 21:47:29      阅读:302      评论:0      收藏:0      [点我收藏+]

标签:

1、参数传递有几种方式?
值传递、指针传递、引用传递

2、指针和引用有什么分别;如果传引用比传指针安全,为什么?如果我使用常量指针难道不行吗?

1、指针是一个变量,存储一个地址,指向内存的一个存储单元;
2、引用是变量的别名。引用不可以为空,指针可以为空;
3、引用不可以改变指向,指针可以改变指向;
4、引用的大小是指向的变量大小,指针是指针本身的大小,为4个字节。
5、由于不存在空引用,并且引用一旦被初始化为指向一个对象,它就不能被改变为另一个对象的引用。因此引用很安全。
对于指针来说,它可以随时指向别的对象,并且可以不被初始化,或者为null,所以不安全。常量指针虽然不能改变指
向,但仍存在空指针,并且有可能产生野指针(即多个指针指向一块内存,free掉一个指针后,别的指针就成了野指针)。

3、避免野指针的方法
1、初始化为null;
2、使用时加非空判断语句;
3、合理管理生命周期;

4、malloc和new的区别
1、malloc和free是c++语言的标准库函数,new和delete是c++的运算符。
2、malloc和new都可以用于申请动态内存,free和delete都可以释放内存。
3、new是保留字,不需要头文件支持,malloc需要头文件库函数支持。
4、new建立的是一个对象,malloc分配的是一块内存。


5、c++的特点是什么,如何实现多态?画出基类和子类在内存中的互相关系
c++的特点是封装、继承、多态。virtual声明父类成员函数,在子类重写该成员函数,在声明对象时,通过
父类指针调用该函数,可以调用子类的函数。

基类对象所占内存
}子类的对象所占内存
子类对象自身增加的部分


6、cocos2dx的屏幕适配解决方案。
ExactFit:通过拉伸来填满屏幕

NoBorder:无黑边,宽高等比缩放

ShowAll:全部现实,保证所有内容显示在屏幕上

FixedHeight:垂直拉伸填满屏幕

FixedWidth:水平拉伸填满屏幕

7、阐述cocos2dx中CCScene CCLayer CCSprite CCNode

CCNode是CCScene,CCLayer,CCSprite的基类,是一个抽象类,没有可视化的表现形式,
是为了方便构建渲染树而定义的一个类。CCScene是场景类,里面可以放CCLayer和CCSprite,
一个app里面可以放多个scene,但同一时刻只能有一个scene被激活,CCLayer是层类,里面可以
放CCSprite,CCSprite是最小的精灵单元。

 

8、cache机制原理是什么
把新加进内存的资源做一个hashmap存储,每一个资源加一个key,每次加载资源的时候,先通过
key查找资源是否存在,存在直接返回,否则加载进内存。

9、减少内存开销的方法有哪些?
减少泄漏,及时释放,重用资源,延迟加载

10、编写strcpy函数
char* strcpy(char*des,const char * source)
{
assert(des!=NULL&&source!=NULL)
char temp = des;
while(*des++=*source++);
return temp;
}

 

简单的cocos2dx笔试题

标签:

原文地址:http://www.cnblogs.com/HemJohn/p/5173875.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!