<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[行者]]></title><description><![CDATA[求则得之，舍则失之，是求有益于得也，求在我者也。]]></description><link>https://blog.youkuaiyun.com/comwise</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; comwise]]></copyright><item><title><![CDATA[yate编译之一]]></title><link>https://blog.youkuaiyun.com/comwise/article/details/52562708</link><guid>https://blog.youkuaiyun.com/comwise/article/details/52562708</guid><author>comwise</author><pubDate>Sat, 17 Sep 2016 13:14:48 +0800</pubDate><description><![CDATA[操作系统win7 64 vs2008 
1、首先下载yate
      最新源代码 地址 http://docs.yate.ro/wiki/Download
     这里我选择windows版本可以使用svn下载 svn checkout 
http://voip.null.ro/svn/yate/trunk
     web版本的svn地址 WebSVN  
http://yat]]></description><category></category></item><item><title><![CDATA[闹钟程序的设计]]></title><link>https://blog.youkuaiyun.com/comwise/article/details/52219835</link><guid>https://blog.youkuaiyun.com/comwise/article/details/52219835</guid><author>comwise</author><pubDate>Tue, 16 Aug 2016 13:21:05 +0800</pubDate><description><![CDATA[@brief    : alarm clock and alarm timer
@author : comwise 
@note    : timer, you must set correct begin time]]></description><category></category></item><item><title><![CDATA[C++线程安全队列]]></title><link>https://blog.youkuaiyun.com/comwise/article/details/51544962</link><guid>https://blog.youkuaiyun.com/comwise/article/details/51544962</guid><author>comwise</author><pubDate>Tue, 31 May 2016 13:25:30 +0800</pubDate><description><![CDATA[template
class concurrent_queue
{
private:
    std::queue the_queue;
    mutable boost::mutex the_mutex;
    boost::condition_variable the_condition_variable;

public:
    void push(Data cons]]></description><category></category></item><item><title><![CDATA[C++队列模板使用std::queue]]></title><link>https://blog.youkuaiyun.com/comwise/article/details/51544957</link><guid>https://blog.youkuaiyun.com/comwise/article/details/51544957</guid><author>comwise</author><pubDate>Tue, 31 May 2016 13:24:33 +0800</pubDate><description><![CDATA[#ifndef _TASK_QUEUE_H_
#define _TASK_QUEUE_H_

#include 
#include 
#include 

template
class TaskQueue 
{
public:
    TaskQueue(){
        queue_.clear();
    }

    virtual ~TaskQueue(]]></description><category></category></item><item><title><![CDATA[Qt QTableWidget的使用方式]]></title><link>https://blog.youkuaiyun.com/comwise/article/details/51544939</link><guid>https://blog.youkuaiyun.com/comwise/article/details/51544939</guid><author>comwise</author><pubDate>Tue, 31 May 2016 13:21:55 +0800</pubDate><description><![CDATA[//QTableWidget行选中/删除/添加行

//1  均分各列
 tableWidget->horizontalHeader()->setStretchLastSection(true); //就是这个地方
 tableWidget->horizontalHeader()->setResizeMode(QHeaderView::Stretch);
 
//2 整行选中：job_]]></description><category></category></item><item><title><![CDATA[设计模式之命令模式（Command）]]></title><link>https://blog.youkuaiyun.com/comwise/article/details/51149373</link><guid>https://blog.youkuaiyun.com/comwise/article/details/51149373</guid><author>comwise</author><pubDate>Thu, 14 Apr 2016 10:19:06 +0800</pubDate><description><![CDATA[#pragma once
#include 
#include 
#include 

//暴露接口层
class Command
{
public:
    virtual ~Command(void);
    virtual bool execute() = 0;

protected:
    Command();
};

//简单命令类，便于不同对象的创建]]></description><category></category></item><item><title><![CDATA[C++消息分发模块框架的构想]]></title><link>https://blog.youkuaiyun.com/comwise/article/details/51148710</link><guid>https://blog.youkuaiyun.com/comwise/article/details/51148710</guid><author>comwise</author><pubDate>Thu, 14 Apr 2016 09:13:10 +0800</pubDate><description><![CDATA[消息分发，采用接口暴露和独立的风格，使用者只需要注册或者继承即可，每一个模块都可以单独接收消息]]></description><category></category></item><item><title><![CDATA[设计模式之桥接与工厂模式]]></title><link>https://blog.youkuaiyun.com/comwise/article/details/49808313</link><guid>https://blog.youkuaiyun.com/comwise/article/details/49808313</guid><author>comwise</author><pubDate>Fri, 13 Nov 2015 00:14:36 +0800</pubDate><description><![CDATA[设计模块中的桥接模块和工厂模式的使用说明]]></description><category></category></item><item><title><![CDATA[皮肤的Xml配置文件]]></title><link>https://blog.youkuaiyun.com/comwise/article/details/44103805</link><guid>https://blog.youkuaiyun.com/comwise/article/details/44103805</guid><author>comwise</author><pubDate>Fri, 06 Mar 2015 19:49:14 +0800</pubDate><description><![CDATA[-->]]></description><category></category></item><item><title><![CDATA[XScrollBar - Scroll bar like Windows Media Player's]]></title><link>https://blog.youkuaiyun.com/comwise/article/details/40906931</link><guid>https://blog.youkuaiyun.com/comwise/article/details/40906931</guid><author>comwise</author><pubDate>Sat, 08 Nov 2014 00:13:31 +0800</pubDate><description><![CDATA[﻿﻿
XScrollBar - Scroll bar like Windows Media Player's


XScrollBar is a scroll bar that may be displayed with optional thumb color, thumb gripper, and channel color


Download demo project - 8]]></description><category></category></item><item><title><![CDATA[VC/MFC中如何替换自带滚动条控件的图片]]></title><link>https://blog.youkuaiyun.com/comwise/article/details/40904503</link><guid>https://blog.youkuaiyun.com/comwise/article/details/40904503</guid><author>comwise</author><pubDate>Fri, 07 Nov 2014 23:48:09 +0800</pubDate><description><![CDATA[﻿﻿
Replace a Window's Internal Scrollbar with a customdraw scrollbar Control


flyhigh,
17 Jun 2007 
CPOL












  
 4.40 (49 votes)











1

2

3

4
]]></description><category></category></item><item><title><![CDATA[VC/MFC开发中的句柄HWND]]></title><link>https://blog.youkuaiyun.com/comwise/article/details/24839051</link><guid>https://blog.youkuaiyun.com/comwise/article/details/24839051</guid><author>comwise</author><pubDate>Thu, 01 May 2014 12:42:26 +0800</pubDate><description><![CDATA[Windows开发中，经常会碰到一个常见的字眼HWND，如下
   HWND hWnd;
   hWnd = CreateWindow(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW | WS_VISIBLE,
      CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, NULL, NULL, hInstance, NULL);HW]]></description><category></category></item><item><title><![CDATA[__stdcall、__cdecl、CALLBACK、WINAPI区别]]></title><link>https://blog.youkuaiyun.com/comwise/article/details/24838077</link><guid>https://blog.youkuaiyun.com/comwise/article/details/24838077</guid><author>comwise</author><pubDate>Thu, 01 May 2014 12:10:26 +0800</pubDate><description><![CDATA[先看下windows下的使用：
LRESULT CALLBACK    WndProc(HWND, UINT, WPARAM, LPARAM);这里就有一个CALLBACK，转到定义看一下
#elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
#define CALLBACK    __stdcall
#define WINAPI]]></description><category></category></item><item><title><![CDATA[动态链接库DLL]]></title><link>https://blog.youkuaiyun.com/comwise/article/details/21776311</link><guid>https://blog.youkuaiyun.com/comwise/article/details/21776311</guid><author>comwise</author><pubDate>Sun, 23 Mar 2014 11:18:47 +0800</pubDate><description><![CDATA[概述：
动态链接库通常不能直接运行，也不能接受消息。他们是一些独立的文件，其中包括可被执行程序或者其他DLL调用来完成某项工作的函数。
WINAPI提供的3个重要DLL：
Kernel32.dll：包含管理内存，进程和线程的函数
User32.dll：包含那些用于执行用户界面的任务的函数，如窗口的创建和消息的发送
GDI32.dll：包含那些用于画图和显示文本的函数

静态库与动态库]]></description><category></category></item><item><title><![CDATA[STL之关联容器（pair、map、set的使用）]]></title><link>https://blog.youkuaiyun.com/comwise/article/details/20078407</link><guid>https://blog.youkuaiyun.com/comwise/article/details/20078407</guid><author>comwise</author><pubDate>Sun, 02 Mar 2014 21:21:38 +0800</pubDate><description><![CDATA[1.关联容器与顺序容器的对比

1）关联容器是通过键存储和读取元素，而顺序容器则是通过元素在容器中的位置顺序存储和访问元素
2）物理存储方式：一般关联容器是非连续内存存储，而顺序容器一部分是连续存储在内存中，随机访问速度较快，如vector、deque
关联容器一般包括map、set两种基本的关联容器：
【map】关联数组，元素通过键来存储和读取；适用于需要存储/修改每个键所关联的值的情]]></description><category></category></item><item><title><![CDATA[虚函数与动态绑定的那点事]]></title><link>https://blog.youkuaiyun.com/comwise/article/details/20046869</link><guid>https://blog.youkuaiyun.com/comwise/article/details/20046869</guid><author>comwise</author><pubDate>Thu, 27 Feb 2014 14:10:44 +0800</pubDate><description><![CDATA[面向对象编程的概念

1）多态：简单理解就是多种形态，通过继承而相关联的类型，特别在运行的情况下，对象可能是基类也可能派生类类型

1）继承：能够对类型之间的关系建模，共享公共的东西，仅仅特化本质上不同的东西。

定义为virtual的函数是基类期待派生类重新定义的，基类不希望派生类继承的则定义为非虚函数，这样类就有虚函数与非虚函数之分

2）动态绑定：使程序使用继承层次中任意类型的对象，无需关心具体的类型。

在C++，通过引用或者指针调用虚函数，发生动态绑定，引用或指针既可以指向基类对象也可以指向派生类]]></description><category></category></item><item><title><![CDATA[调用操作符和函数对象]]></title><link>https://blog.youkuaiyun.com/comwise/article/details/19937727</link><guid>https://blog.youkuaiyun.com/comwise/article/details/19937727</guid><author>comwise</author><pubDate>Tue, 25 Feb 2014 22:46:16 +0800</pubDate><description><![CDATA[引言

什么是调用操作符和函数对象呢？就是调用操作符看起来像是调用函数，如下设计的一个类，是用来求一个整数的绝对值的，如下类

struct absInt
{
	int operator()(int a) {
		return (a < 0)? -a: a;
	}
};
如下调用

	int nVal = -1234;
	absInt abs;
	int nPosVal = abs.o]]></description><category></category></item><item><title><![CDATA[成员操作符剖析]]></title><link>https://blog.youkuaiyun.com/comwise/article/details/19936299</link><guid>https://blog.youkuaiyun.com/comwise/article/details/19936299</guid><author>comwise</author><pubDate>Tue, 25 Feb 2014 22:28:05 +0800</pubDate><description><![CDATA[前面的操作符都比较一般，但是这里的调用就有点小不同了，如下设计的类（与智能指针类似）
class ScrPtr
{
public:
	friend class ScreenPtr;
	friend class ScrPtrTest; //这个先不用管，后面我会用到
	ScrPtr(screen* p):sp(p),count(1) { };
	~ScrPtr() { /*delete sp;*/]]></description><category></category></item><item><title><![CDATA[下标操作符]]></title><link>https://blog.youkuaiyun.com/comwise/article/details/19935435</link><guid>https://blog.youkuaiyun.com/comwise/article/details/19935435</guid><author>comwise</author><pubDate>Tue, 25 Feb 2014 22:07:28 +0800</pubDate><description><![CDATA[有一个vector存储的容器，用下标操作返回容器内的元素，类设计如下：
class Index
{
public:
	friend ostream& operator<<(ostream& os, const Index& org);

	Index(void);
	~Index(void);

	int& operator[] (const size_t);
	const int& opera]]></description><category></category></item><item><title><![CDATA[算法操作符和关系操作符]]></title><link>https://blog.youkuaiyun.com/comwise/article/details/19933727</link><guid>https://blog.youkuaiyun.com/comwise/article/details/19933727</guid><author>comwise</author><pubDate>Tue, 25 Feb 2014 21:55:28 +0800</pubDate><description><![CDATA[类设计如下：
class sales_item
{
public:
	friend istream& operator>>(istream&, sales_item&);
	friend ostream& operator<<(ostream&, const sales_item&);
	friend sales_item operator+(const sales_item& sale1, c]]></description><category></category></item></channel></rss>