LudoArt Blog

The programmer of tomorrow is the magician of the future.

单例模式(Singleton)

单例模式——对象创建型模式 1、意图 保证一个类仅有一个实例,并提供一个访问它的全局访问点。 2、适用性 在以下任一情况下可以使用单例模式: 当类只能有一个实例而且客户可以从一个众所周知的访问点访问它时。 当这个唯一实例应该是通过子类化可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例时。 3、结构 单例模式结构 4、参与者 Singleton ...

状态模式(State)

状态模式——对象行为型模式 1、意图 允许一个对象再其内部状态改变时改变它的行为。对象看起来似乎修改了它的类。 2、适用性 一个对象的行为取决于它的状态,并且它必须在运行时刻根据状态改变其行为。 某个操作中含有庞大的多分支条件语句,而且该分支依赖于对象的状态。这个状态通常用一个或多个枚举常量来表示。通常,有多个操作包含这一相同的条件结构。状态模式将...

观察者模式(Observer)

观察者模式——对象行为型模式 1、意图 对象之间存在某种依赖关系,当一个对象的状态发生改变时,所有依赖它的对象都得到通知并做出相应反应。 2、适用性 在以下任一情况下可以使用观察者模式: 当一个抽象模型有两个方面,其中一个方面依赖于另一个方面。将这二者封装在独立的对象中以使它们可以各自独立地改变和复用。 当对一个对象的改变需要同时改变其它对象,而不知道具体有多少对象有待改...

C++ Study Week Ten

第十周 一、C++11 新特性(一) 1.1 统一的初始化方法 1.2 成员变量默认初始值 1.3 auto关键字 1.4 decltype关键字 1.5 智能指针shared_ptr 1.6 空指针nullptr 1.7 基于范围的for循环 1.8 右值引用和move语义 二、C++11 新特性(二) 2.1 无序容器(哈希表) 2.2 正...

C++ Study Week Eight

第八周 一、string类 1.1 string类 int main() { string s1("Hello"); cout << s1 << endl; //Hello string s2(8, 'x'); cout << s2 << endl; //xxxxxxxx string mon...

C++ Study Week Seven

第七周 一、输入输出流相关的类 1.1 与输入输出流操作相关的类 isteam 是用于输入的流类, cin 就是该类的对象。 osteam 是用于输入的流类, cout 就是该类的对象。 ifstream 是用于从文件读取数据的类。 ofstream 是用于向文件写入数据的类。 iostream 是既能用于输入,又能用于输出的类。 fs...

C++ Study Week Six

第六周 一、虚函数和多态的基本概念 1.1 虚函数 在类的定义中,前面有virtual关键字的成员函数就是虚函数。 virtual关键字只用在类定义里的函数声明中,写函数体时不用。 构造函数的静态成员函数不能是虚函数。 class base{ virtual int get(); }; int base::get...

C++ Study Week Five

第五周 一、继承和派生的基本概念 派生类拥有基类的全部成员函数和成员变量,不论是private、protected、public。 在派生类的各个成员函数中,不能访问基类中的private成员 class CStudent{ private: string sName; ...

C++ Study Week Four

第四周 一、运算符重载的基本概念 运算符重载的实质是函数重载 可以重载为普通函数,也可以重载为成员函数 把含运算符的表达式转换成对运算符函数的调用 把运算符的操作数转换成运算符函数的参数 运算符被多次重载时,根据实参的类型决定调用哪个运算符函数 运算符重载的形式: 返回值类型 operator 运算符(形...

阿里游戏开发工程师面试

3月26号下午电话面试,过了三天,收到了reject的回复,虽说一开始并没有多么想去阿里,但是被reject了多少还是有点伤心,回想面试的过程,被拒绝也是理所当然的事,想写点东西记录一下,整理整理还应补补什么方向,做个大致规划吧。 面试中问到的部分内容 一、C++STL库中,map类型的实现方法 当面试官问到这个问题的时候,其实我还是挺庆幸的,因为之前在...