C++
无证临时程序员
这个作者很懒,什么都没留下…
展开
-
递归互斥体
最近在看C++ 网络编程 卷1 运用ACE和模式消除复杂性。到10.6 ACE条件变量类时,代码演示了如何在不支持递归互斥体的平台上模拟一个实现。其中ACE_Recursive_Thread_Mutex::acquire函数中对于条件变量调用ACE_Condition_Thread_Mutex::wait ,而在ACE_Recursive_Thread_Mutex::release中调用A原创 2013-09-17 16:07:42 · 777 阅读 · 0 评论 -
ACE的前摄器模式笔记
ACE的前摄器模式笔记ACE的代码组织ACE的前摄器模式中,包括前摄器接口,类命名会有如下形式代码关系class A{A_Impl* implement;}class A_Impl{}class WIN32_A : public A_Impl{}调用A的接口将直接调用指针成员A_Imp的同名接口(A_Impl仍然是接口),实际上调用了WIN32_A 对象中的实现。 因为前摄器功能的实原创 2015-07-22 08:43:41 · 894 阅读 · 0 评论 -
std::regex在VS2013中的一个坑
不要给std::regex_xxx函数传递临时std::string对象std::regex_xxx函数第一个参数接收一个std::string引用类型,而VS2013的编译器允许临时对象传递给引用类型的参数。如果向std::regex_xxx函数传递一个临时std::string对象,后续使用第二个参数std::match_result中的结果时,会导致程序崩溃,可能是因为匹配结果只是保存了基于源原创 2015-08-26 09:16:44 · 1250 阅读 · 0 评论 -
mfc小记
MFC小记这两周写了几个MFC小工具,准备给后续开发和测试用的。这其中有些收获,有些感悟界面设计很重要自己设计的界面真是丑爆了。当初设计的时候用的嵌入窗口,根据鼠标点击不同的对象,在同一位置打开不同的属性显示窗口。然后就要考虑属性窗口和主窗口的从属关系,还有拖动同步问题。但是如果界面线程卡住了,属性窗口就不动了。类设计也很重要非界面的数据成员的初始化和访问问题。因为解耦的需要所以数据和界面是分离的,原创 2015-07-09 11:00:44 · 549 阅读 · 0 评论 -
VS2005 MFC 多语言 国际化
在资源视图中,对于每一个资源,都执行【右键→插入副本】,选择一种语言,如英语(美国),编辑这些资源对工程文件【右键→属性→配置属性→资源】,在预定义处理器中添加AFX_RESOURCE_DLL;AFX_TARG_ENU;VC6是到project setting→resouces页选择语言,添加这两个宏重新编译工程。原创 2015-04-24 14:29:26 · 1964 阅读 · 0 评论 -
LNK2005与头文件中的全局常量
最近在VS2005工程中的一个头文件中定义了一些全局常量原创 2014-05-29 13:44:10 · 858 阅读 · 0 评论 -
linux下ACE 6.2编译
以前编译ACE 5.5的时候,还有个configure文件,在ACE 6.2里面没有了,编译怎么办呢原创 2014-07-16 11:40:21 · 588 阅读 · 0 评论 -
接口中的虚析构函数
除非显式调用派生类的析构函数,否则一定要定义接口de原创 2014-05-17 14:44:15 · 846 阅读 · 0 评论 -
error C2011: “fd_set”: “struct”类型重定义
用VS2005遇到error C2011: “fd_set”: “struct”类型重定义错误原创 2014-05-14 17:07:22 · 5376 阅读 · 0 评论 -
C++中的动态类型判断
在博客园看见个帖子,讲的是C++:实现类似MFC的IsKindOf功能。因为以前用过类型判断,所以就觉得没必要这么麻烦,直接用类型转换就行。上代码templatebool IsKindOf(T2* t2){ T1* t1 = dynamic_cast(t2); return (NULL != t1)};templatebool IsKindOf(T2& t2){原创 2013-12-19 16:02:18 · 931 阅读 · 0 评论 -
螺旋数组
螺旋数组,是将N*N数组如下设置3*31238947654*4123412131451116156109875*512345161718原创 2013-11-01 11:38:36 · 665 阅读 · 0 评论 -
蛇形数组
#include using namespace std;class zhengluoxuan{public: enum direction { RIGHT, LEFTDOWN, DOWN, RIGHTUP, }; SnakingLine(unsigned int);~zhengluoxuan();void draw();void show();privat原创 2013-10-31 20:33:30 · 733 阅读 · 0 评论 -
自定义控件支持qss
自定义控件需要重写void paintEvent(QPaintEvent *) override;void Customerized::paintEvent(QPaintEvent *){ QStyleOption opt; opt.init(this); QPainter p(this); style()->drawPrimitive(QS原创 2016-02-01 16:30:18 · 627 阅读 · 0 评论