摘要:
1、最近一些年C++语言增加的特性有: a、RTTI,namespace,bool,关键字mutable和explicit,enums,以及const static int可以直接初始化。 b、扩充了template的弹性,允许成员方法模版。 c、强化了异常处理机制。 d、修改了内存分配例程。2、标准程序库分为以下几项: a、支持C标准程序库。 b、支持String c、支持国别,地域化,本地化,localization。 d、支持I/O e、支持数值应用。 f、支持广泛用途的容器和算法,STL。 阅读全文
posted @ 2014-04-09 16:20
Andy Niu
阅读(244)
评论(0)
推荐(0)
摘要:
1、考虑下面的问题,游戏软件中有角色A,B,角色又可以细化为A1,A2,A3;B1,B2,B3,两类角色之间相互攻击。即A1可以攻击B1,B2,B3,B1可以攻击A1,A2,A3。C++的多态,只根据方法拥有者的真实类型,决定调用哪个方法,而不关心形参的真实类型,只关心形参的表面类型。考虑方法A.Attack(B),如何根据A,B的真实类型虚化?2、使用虚方法+RTTI(运行时期类型识别),在对于A的Attack方法声明为virtual,在重写的方法中,使用typeid判断B的真实类型,决定调用哪个方法。3、只使用虚方法,在A的Attack(B)方法,调用B的AcceptAttack(A)方法 阅读全文
posted @ 2014-04-09 16:03
Andy Niu
阅读(342)
评论(0)
推荐(0)
摘要:
1、引用计数这项技术,是为了让等值对象对象共享同一实体。此技术的发展有两个动机:a、记录堆上分配的对象,是垃圾回收机制的简单原理;b、节省内存,多个对象具有相同的值,存储多次很笨。速度更快,等值对象避免了对象复制,也就减少了构造和析构。2、考虑,基于引用计数的String,String类中有个StringValue指针,stringValue包含char指针data和引用计数refCount。注意,refCount属于StringValue,不应该属于String,否则要有多个引用计数副本,还要保持同步。3、考虑下面的问题,多个String共享同一个StringValue,如果只是读取操作,没 阅读全文
posted @ 2014-04-09 16:02
Andy Niu
阅读(359)
评论(0)
推荐(0)
浙公网安备 33010602011771号