智力题收集

  1. 如果你有两枚鸡蛋,并且想搞清楚在不摔破鸡蛋的前提下,最高能从多高的地方往下扔鸡蛋,你会如何去做?最优的解决方案是什么?
  2. 桌子上有100枚硬币,每枚都有正面和反面。其中10枚硬币正面朝上,90枚反面朝上。你不能触摸、观看或以其它任何方法来判断每枚硬币哪面朝上。现在把硬币分成两堆,使得每一[……]

Read more

C++试题收集

下面这些题目都是我之前准备笔试面试过程中积累的,大部分都是知名公司的笔试题,C++基础薄弱的很容易栽进去。我从中选了10道简单的题,C++初学者可以进来挑战下,C++大牛也可以作为娱乐玩下(比如下面的第6题)。为了便于大家思考,将题目与答案分开,不过无论题目本身如何,我觉得后面的解析过程更值得学习,[……]

Read more

C++开发单例类的实现

单倒模式是一种常见的设计模式,在cocos2d很多地方都使用到。下面贴出来我的一种方式。

Utils.h

Utils.cpp

原理都是类似的,使用类的静态[……]

Read more

C++内存对齐问题

最近在开发客户端网络连接过程遇到一个非常奇怪的问题,这个问题卡了两天多时间,百般尝试,一筹莫展!一度让我怀疑人生了大哭

最后突然想到最近使用#pragma pack,设置内存对齐。当我取消这个代码后,一切都正常了!

事件起因与网络数据协议的定义:
[crayon-5b55a644f155[……]

Read more

跨平台客户端Socket 二 接口定义

在C++中没有接口的概念,使用纯虚函数来实现接口的定义。

下面分别是基础接口,网络接口,连接回调接口,接收回调接口的定义。

IUnknownEx.h

IClientSocket.h
[crayon-5b55a644f[……]

Read more