C/C++
xzben
欢迎一起学习探讨各种技术问题。有兴趣可以加我好友( QQ 994344450) 备注 "csdn xzben blog"
展开
-
C++ 动态子类化 很神奇的code
题记:今天在公司看到一个很奇怪的code,从它的函数名DynamicSubClassing 貌似是动态子类化,于是研究了一番收获颇多,特作如下总结:首先上code:#include #include using namespace std;class BaseClass {public: BaseClass() { cout<<"B原创 2013-12-07 20:55:45 · 865 阅读 · 0 评论 -
Spine Slot 增加 绑定 节点且能保持 与slot的zoder一致
1、typedef struct spSlot { void* node; spSlotData* const data; spBone* const bone; float r, g, b, a; spAttachment* const attachment; int attachmentVerticesCapacity; int attachmentVerticesCount;原创 2016-07-04 10:28:17 · 3125 阅读 · 2 评论 -
VS2010中的调试技巧
原文链接:http://kb.cnblogs.com/page/92158/今天的博文将介绍Visual Studio中的一些实用调试技巧。这是受我朋友Scott Cate (他发表过几十篇很棒的VS技术文章) 启发。他最近告诉我,许多Visual Studio下的程序员,甚至一些很有经验的开发人员,都不知道这些技巧。希望这篇文章能帮你掌握这些技巧。它们都很简单,却能帮你节约大量的时间。转载 2013-12-07 21:14:16 · 522 阅读 · 0 评论 -
转载 C++ 的“反射”技术
原址: http://www.cppblog.com/tx7do/archive/2006/09/05/12034.htmlLit Window Library来自http://sourceforge.net/projects/litwindow 大概看了一下,使用了宏建立了一个比较复杂的数据结构,用来提供成员反查以及成员访问。 tinybind来自http://s转载 2015-05-28 14:58:59 · 1199 阅读 · 0 评论 -
SkipList 跳表基本原理与实现(转载)
为什么选择跳表目前经常使用的平衡数据结构有:B树,红黑树,AVL树,Splay Tree, Treep等。想象一下,给你一张草稿纸,一只笔,一个编辑器,你能立即实现一颗红黑树,或者AVL树出来吗? 很难吧,这需要时间,要考虑很多细节,要参考一堆算法与数据结构之类的树,还要参考网上的代码,相当麻烦。用跳表吧,跳表是一种随机化的数据结构,目前开源软件 Redis转载 2015-01-05 09:47:37 · 541 阅读 · 0 评论 -
云风 Skynet 阅读笔记
一、主程序大致流程1、入口文件为 skynet_main.c 2、初始化节点的全局信息,用线程存储的方式。(每个线程可以在其中存储自己的信息)3、初始化 全局环境表,此表主要用来存储一些全局的配制信息4、设置 忽略SIGPIPE新号,原因见:http://www.cnblogs.com/caosiyang/archive/2012/07/19/2599071.html5、读原创 2014-05-18 20:04:06 · 1336 阅读 · 0 评论 -
ProtoBuf 协议数据结构定义规则
1、ProtoBuf 协议数据结构定义规则message 消息结构类型名{ 限定修饰符 数据类型 字段名 = 字段编码值 [字段默认值];}1.1限定修饰符类型及意义:1) required 说明字段为必备字段,发送方必须设置该字段,接收方必须识别到该字段,否则会导致编码失败。2) optional 说明字段为可选字段,可以不设置其值。发送方可以选择性的设置,接收原创 2014-05-14 18:46:33 · 6008 阅读 · 0 评论 -
自定义编译输出信息
#include using namespace std;// put the following code in header file or at the beginning of the source file.#define __STR2__(x) #x#define __STR1__(x) __STR2__(x)#define __LOC__ __FILE__ "("__ST转载 2014-05-04 10:23:46 · 1394 阅读 · 0 评论 -
我的高性能网络服务器总结
引言: 本文是本人学习网络编程以来第一次系统的总结《高性能网络服务器》这一高深的论题,可能所写的地方存在诸多问题,欢迎大家留言指点、探讨。随着我的学习深入我也会不断完善本文。一、什么是高性能服务器如果要写出高性能的网络服务器,那必须就得对高性能的概念有一定的了解,并指导主要影响服务器高性能的主要因素。所谓高效服务器就是能够同时(宏观上)处理巨大数量的链接IO数据处理。对于影原创 2014-02-11 23:42:15 · 1274 阅读 · 0 评论 -
C++ 将一个 Template Class 作为另一个类的友员
C++ 将如何将一个Template class 申明为另一个类的友员成员,这个东西今天是第二次遇到这个问题又忘记怎么写的了,所以觉得有必要记录下来,以免下次再次忘记。/** 每次去写的时候总是想写成下面的格式,但是是不对的。*/template friend class TemplateClassName;/** 正确格式为如下*/template frien原创 2014-01-05 19:20:08 · 705 阅读 · 0 评论 -
xzben 网络框架结构说明
引言:出于学习目的我编写了xzben框架,它是我一边学习一边写的,所以可能存在各种bug,如果你发现了bug可以在本博文留言,我一定会尽力解决。另外本框架注重在于网络通信的通行层,也就是说框架只是将网络通信中的数据包发送过程封装,可以让用户在不关心如何发送数据,只是关心通信协议层面上思考问题。所以请不要站在协议层上来看本框架,我并不关心协议是如何。我只关心如何高效的将数据发送出去,并在收到数据原创 2013-12-12 21:18:40 · 1844 阅读 · 0 评论 -
设计模式-------创建型模式总览
1、设计模式创建型模式总结申明:本文属于本人(xzben)个人总结与看法,如果您有不同看法或我有哪里不正确,请指出!目的:创建模式主要目的,就是将系统中对象的实例化提取出来专门管理,这样对于系统中对象的实例化管理更加方便简洁。类型及特点:1、抽象工厂: 将系统中一系列对象的实例化过程,封装在一个专门的抽象类中,通过对此类的继承实现一系列的对象的实例化的重定义。2、Build原创 2013-12-05 23:33:04 · 736 阅读 · 0 评论 -
wxWidget vs2010 环境配置
引言: wxWidget的环境配置其实就是,将wxWidget的库头文件、静态库、动态库、引入你的工程、另外配置一些 wxWidget 特定的预处理宏定义。所以在你看到这个环境配置的时候不要想得太复杂,另外如果你配置完后,编译测试程序是如果出现错误,那么主要是如下两种情况导致: 1、特定的宏没有预定义, 你要看你自己使用了哪些特殊的库,来判断增加了。原创 2013-12-07 21:27:16 · 1683 阅读 · 0 评论 -
c语言小技巧-类似默认参数
今天给公司一个旧的c函数添加了一个参数,由于c语言语法上不支持默认参数,以前一些已经调用这个函数的地方都要去添加一个默认参数值,这样做相当的麻烦。后来在公司发现一个方法可以很好的解决这个问题的方法。代码如下 //void function(int para1, int para2); //老函数接口void functionEx(int para1, int para2, int newpa原创 2013-12-07 21:22:11 · 723 阅读 · 0 评论 -
c语言指针小趣事
题记:今天在网上看到一段c代码,比较有趣,是有关指针的。这种用法很有意思,而且一般人估计都会理解错。所以特此留下笔记。先看一段代码:int a[5]={1,2,3,4,5};int *p=(int *)(&a+1); //数组指针 加一 进行正常的指针运算 走到数组尾当我看到如上代码时,首先产生了如下疑问:1、&a 应该是数组首地址变量的地址,那这个值是多原创 2013-12-07 21:08:44 · 857 阅读 · 0 评论 -
spine 动态换皮功能
前言:cocos2dx 中spine 的换皮功能是一种静态的方法,也就是在创建 spine 动画的时候就必须将所有的皮肤全部加载,然后在代码中直接换皮,并且这种换皮是整体的切换,对于我们实际开发中这种方式是相当的不理想的。注意:本代码本人还只是简单的测试,如果还存在其它问题可以留言。原理介绍:对于spine动画而言动画的构成由 1、bone(骨骼)2、slot (槽)3、at原创 2016-07-04 20:11:14 · 19985 阅读 · 11 评论