
C++程序设计
zhshgap
希望能通过努力得到自己想要的~
展开
-
如何使用复杂的JIG
在AUTOCAD二次开发中JIG是一个好东西,在用户交互方面非常方便,但是JIG只支持一个实体,如何来实现非常复杂的JIG呢?有一个我觉得非常有用的方法,就是我们虚拟一个JIG实体出来实现。这个虚拟的JIG可以由多个实体构成,我们只需从AcDbEntity派生一个类出来,该类中有构成JIG中实体的所有实体指针。该派生类需要实现WORDDRAW方法,然后在WORDDRAW方法中调用JIG需要原创 2008-11-14 17:09:00 · 1142 阅读 · 0 评论 -
对比较复杂的数据结构进行建模分析
今天和架构师学了一招,我觉得很不错,能解决数据结构复杂时,如何能清楚的表达你的数据结构的组合关系。问题的产生主要的我写一个图方面的数据结构,怎么讲也将不清楚,后来架构师交我怎么一步一步建模,后来发现这个真的很管用,我自己觉得这个挺有用的,和大家分享一下。 例子如下存储路径的数据结构 //图的邻接节点信息 typedef struct NodeXData原创 2009-02-22 14:45:00 · 1270 阅读 · 1 评论 -
C++类型转换
<br />C++有四个类型转换方法,const_cast,static_cast,dynamic_cast,reinterpret_cast . 但是很多C++开发者很少用这些转换,基本上都是沿用C的转换方法,下面简单讲讲我对这些转换的理解。<br /> <br />const_cast 用于将const 类型数据转换为非const 类型数据。<br /> <br />static_cast 用于没有继承关系的数据类型间的转换,比如double 转换为int <br /> <br />double d原创 2010-12-30 11:55:00 · 388 阅读 · 0 评论 -
map.insert 出错想到的
这边文章可能会持续更新写这篇文章是因为看到QQ群里面有人问了这样一个问题:class CA;CA a;map _map;_map.insert( std::make_pair( 2, a ) );这样可以,class CA;CA a;map _map;_map.insert( std::make_pair( a, 2 ) );这样编译出错 找找出错的原因原创 2010-12-31 12:03:00 · 1539 阅读 · 0 评论 -
视频画中画的实现(ddraw)
<br />1 需要具备的基础知识:用ddraw来显示视频,C++,MFC<br /> <br />先来看看效果:<br /><br /> <br />画中画效果<br /> <br /> <br />其中较大的视频区域是用鼠标截取屏幕放大后的显示。较小的视频区域则是原视频显示。其中可以在右下角的视频区域看见有一个白色的长方体,这个长方体对应的区域则是截取放大的区域,通过移动白色长方体可以调整放大的区域,通过移动鼠标滚轮可以放大和缩小白色区域,其中放大的视频区域一起变化。<br /> <br />2该功能的原创 2011-01-06 10:44:00 · 1761 阅读 · 0 评论 -
通过匿名管道实现进程间通信
<br />有这么一个需求:要通过一个程序来启动多个其他的程序,其他程序退出的时候必须通知启动他们的程序。<br />通过需求可以看到里面需要实现进程间的通信,虽然想起来简单,但是做完之后发现有很多需要注意的地方,在这里详细的说明一下。<br /> <br />进程间通信采用的是匿名通道通信方式。<br /> <br />主程序实现:<br />1 创建匿名管道<br /> <br /> SECURITY_ATTRIBUTES sa; //安全性结构 <br /> //填充安全性结构使句柄被继承 <br /原创 2011-01-14 14:34:00 · 2271 阅读 · 0 评论