C++
zirandeai
这个作者很懒,什么都没留下…
展开
-
对C++枚举类型的进一步思考以及简化
在阅读了《C++ 枚举类型的思考》这篇文章后,我思索了一下,看能不能用更加简单的方法实现文中对枚举类型的包装。 在经过一番试验之后,发现了更加简单的实现,希望与大家共享。以下为源码:class ColorSpace { public: enum { COLOR_RED = 1,原创 2012-07-16 14:32:29 · 528 阅读 · 0 评论 -
使用boost::enable_if与boost::type_traits在模板中实现对模板类型的接口的限制
直上源码:#include #include #include #include struct IHello{ virtual void Hello() = 0;};struct CHello:public IHello{ virtual void Hello() { std::cout<<"Hello World"<<std::endl; }};stru原创 2014-03-01 20:46:32 · 1686 阅读 · 0 评论 -
简要记录下编译OGRE 1.9的过程
想玩3D 就想着编译OGRE主要用的是OGRE SDK 所以直奔主题 windows平台首先要编译dependency 官网上都有 可以自己去下下来 直接IDE打开 编译成功然后就可以编译SDK了 进入OGRE源码的SDK\Win32目录,有个buildsdk的脚本可以选择编译32位或者64位,首先运行一遍,会生成vcxx目录,这里注意要把前面编译好的dependencies放到生成的原创 2014-01-20 21:42:37 · 2244 阅读 · 0 评论 -
最近的一些心得
一直对UI比较感兴趣,这几天做了2个动画效果,简单动画也就是图片的时间序列展示。 一个是窗口大小缓动变化的动画,一个是对窗口的alpha变换实现类似呼吸灯的功能,都很简单,技术上不难。 要实现更复杂的效果,用GDI是肯定不行的,得直接去搞显存。 然后看到很多处理文档的程序。像foxit pdf reader,都有zoom in,zoom out功能,思考自己实现,然后发现了原创 2013-10-15 13:59:18 · 686 阅读 · 0 评论 -
设计上的错误
这几天一直在做一套协议生成的类,在思考的时候,发现一个很大的问题。 可用也可不用继承的东西,硬是被我用继承设计出来,最后难以避免的是dynamic_cast。 以后设计的时候还是得想清楚,如果用到了dynamic_cast,应该好好思考下是不是有更好的设计。原创 2013-06-19 17:44:56 · 642 阅读 · 0 评论 -
boost读写锁
直接上代码: //#########测试多线程,读写锁,递归锁#include #include #include #include #include #include #include #include #include #include #include #include #define THREAD_COUNT 100typedef boost::原创 2013-01-06 15:53:45 · 6875 阅读 · 0 评论 -
boost::flyweight使用
今天在看书的时候看到了boost.flyweight这个库,设计模式里面讲到了flyweight是一种设计模式,那这个库是干啥的呢? 什么是flyweight? 简单点说,就是当需要生成N个实例,而这N个实例中有部分域是冗余重复的,那么这个时候就可以使用flyweight模式了,就是享元模式。 享元模式的思想就是把重复的数据只在一个桶中保存一份,当外部对象原创 2012-12-12 22:06:17 · 3086 阅读 · 0 评论 -
近段时间工作汇总
也有好久没来写博客了,去了深圳一趟,把档案问题解决好了,接下来就可以安心研究技术的阶段。 这几天主要都是在练手,写代码的能力还要继续加强,打好写代码的基础才是王道,做技术,很大的一个区别就在于你愿不愿意动手,若是眼高手低,懒而不动,等于浮沙筑高台,没有实践的经验,怎能做到在开发中构建宏伟蓝图并付诸实现呢? 技术方面,前段时间做了一个在Web上实时播放视频流并配置编码器的activex原创 2012-12-10 09:42:12 · 548 阅读 · 0 评论 -
QT下使用MapX控件的问题以及Activex技术
近期使用MapX控件做了一个GIS项目,因为是在QT中使用,所以用dumpcpp生成了QT下可用的代码,做了一些修改之后,代码在QT中正常运行。 后来客户提出新的需要,要求显示地图经纬度,但是因为地图上图元移动使用的单位是公里,所以之前把地图的NumericCoord的单位设置为了miUnitKilometer,而Mapx并不支持两种坐标系统同时使用。 初期的思路如下: 1.监听原创 2016-04-15 11:33:29 · 3852 阅读 · 7 评论