<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[平克弗洛伊德]]></title><description><![CDATA[We don't need no education, we don't need no thought control.]]></description><link>https://blog.youkuaiyun.com/Mr_warm</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Mr_warm]]></copyright><item><title><![CDATA[面向对象构造、析构和virtual规则]]></title><link>https://blog.youkuaiyun.com/Mr_warm/article/details/53174184</link><guid>https://blog.youkuaiyun.com/Mr_warm/article/details/53174184</guid><author>Mr_warm</author><pubDate>Tue, 15 Nov 2016 17:57:23 +0800</pubDate><description><![CDATA[1）构造函数是从基类到子类逐步构造，像一颗生长的树。
2）析构函数是从子类到基类逐步析构，像一颗退化的树。
3）基类声明了一个成员函数为virtual，子类只要重写了该方法，无论是否声明为virtual，都将具有多态的性质。
#include 
using namespace std;

class A
{
public:
	A(){cout << "constructed A"<< end]]></description><category></category></item><item><title><![CDATA[STL中map的成员函数insert的返回值]]></title><link>https://blog.youkuaiyun.com/Mr_warm/article/details/53127317</link><guid>https://blog.youkuaiyun.com/Mr_warm/article/details/53127317</guid><author>Mr_warm</author><pubDate>Fri, 11 Nov 2016 11:31:17 +0800</pubDate><description><![CDATA[map在进行插入的时候是不允许有重复的键值的，如果新插入的键值与原有的键值重复则插入无效，可以通过insert的返回值来判断是否成功插入。下面是insert的函数原型：
          pair insert(const value_type& x);
可以通过返回的pair中第二个bool型变量来判断是否插入成功。下面是代码：


#include 
#include 

i]]></description><category></category></item><item><title><![CDATA[获取CTreeCtrl所有结点的附加数据(ItemData)]]></title><link>https://blog.youkuaiyun.com/Mr_warm/article/details/52839618</link><guid>https://blog.youkuaiyun.com/Mr_warm/article/details/52839618</guid><author>Mr_warm</author><pubDate>Mon, 17 Oct 2016 16:21:53 +0800</pubDate><description><![CDATA[vector GetTreeCtrlAllNodeItemData(CTreeCtrl& _ctrl)
{
	vector lstItmData;
	HTREEITEM hItem=_ctrl.GetRootItem();
	DWORD_PTR itmData = NULL;

	if (NULL == hItem)
	{
		return lstItmData;
	}
	
	do
	{
		it]]></description><category></category></item><item><title><![CDATA[浮点数与零比较]]></title><link>https://blog.youkuaiyun.com/Mr_warm/article/details/52769030</link><guid>https://blog.youkuaiyun.com/Mr_warm/article/details/52769030</guid><author>Mr_warm</author><pubDate>Sun, 09 Oct 2016 17:45:17 +0800</pubDate><description><![CDATA[int FloatCompareZero(float f)
{
	if (f > 0.00000001)
	{
		return 1;
	}
	
	if (f < -0.00000001)
	{
		return -1;
	}
	
	return 0;
}]]></description><category></category></item><item><title><![CDATA[折半查找递归和非递归实现]]></title><link>https://blog.youkuaiyun.com/Mr_warm/article/details/52253312</link><guid>https://blog.youkuaiyun.com/Mr_warm/article/details/52253312</guid><author>Mr_warm</author><pubDate>Fri, 19 Aug 2016 18:16:32 +0800</pubDate><description><![CDATA[//递归
int BinarySearch(int arr[],int n,int left, int right)
{
	if (left <= right)
	{
		int middle = left + (right - left)/2; //防溢出

		if (n == arr[middle])
		{
			return middle;
		}
		else i]]></description><category></category></item><item><title><![CDATA[单链表的创建、插入、删除、销毁以及查找中间结点]]></title><link>https://blog.youkuaiyun.com/Mr_warm/article/details/51892905</link><guid>https://blog.youkuaiyun.com/Mr_warm/article/details/51892905</guid><author>Mr_warm</author><pubDate>Tue, 12 Jul 2016 21:54:49 +0800</pubDate><description><![CDATA[#include 
#include 
#include 

//链表结构
typedef struct _tagLinkList {
	int num;					//数值
	struct _tagLinkList *next;	//链表下一个结点
}LinkList,*PLINK;

//初始化链表
bool init_list(PLINK* head)
{
	PLINK pLink = NUL]]></description><category></category></item><item><title><![CDATA[根据某一分隔符分隔字符串]]></title><link>https://blog.youkuaiyun.com/Mr_warm/article/details/51198498</link><guid>https://blog.youkuaiyun.com/Mr_warm/article/details/51198498</guid><author>Mr_warm</author><pubDate>Wed, 20 Apr 2016 10:23:58 +0800</pubDate><description><![CDATA[函数原型：

BOOL AfxExtractSubString(CString& rString, LPCTSTR lpszFullString, int iSubString, TCHAR chSep = '\n')

参数说明：

rString　　保存输出的子字符串

lpszFullString　　待分割的字符串

iSubString　　提取的子字符串的序号，从0开始]]></description><category></category></item><item><title><![CDATA[交换两个字符串内容]]></title><link>https://blog.youkuaiyun.com/Mr_warm/article/details/46516925</link><guid>https://blog.youkuaiyun.com/Mr_warm/article/details/46516925</guid><author>Mr_warm</author><pubDate>Tue, 16 Jun 2015 13:05:15 +0800</pubDate><description><![CDATA[#include 

static void swap_string(char **p1, char **p2)
{
	char *tmp = NULL;
	tmp = *p1;
	*p1 = *p2;
	*p2 = tmp;
}

static void swap_strings(char *src[][2],unsigned int row)
{
	unsigned int i = 0;

	]]></description><category></category></item><item><title><![CDATA[判断是否含有子串]]></title><link>https://blog.youkuaiyun.com/Mr_warm/article/details/41726387</link><guid>https://blog.youkuaiyun.com/Mr_warm/article/details/41726387</guid><author>Mr_warm</author><pubDate>Thu, 04 Dec 2014 16:33:04 +0800</pubDate><description><![CDATA[#include 
#include 
unsigned char is_sub_array(int arr[],int arr_len,int subarr[],int subarr_len);
unsigned char is_sub_array1(int arr[],int arr_len,int subarr[],int subarr_len);

int main()
{
]]></description><category></category></item><item><title><![CDATA[获取bcd码的长度]]></title><link>https://blog.youkuaiyun.com/Mr_warm/article/details/40426249</link><guid>https://blog.youkuaiyun.com/Mr_warm/article/details/40426249</guid><author>Mr_warm</author><pubDate>Fri, 24 Oct 2014 13:38:31 +0800</pubDate><description><![CDATA[unsigned int get_bcd_length(const unsigned char* bcd)
{
	unsigned int length = 0;

	while (((*bcd&0xf0) != 0xf0) && ((*bcd&0x0f) != 0x0f))
	{
		length += 2;
		++bcd;
	}

	if (*bcd == 0xff)
]]></description><category></category></item><item><title><![CDATA[C++ Sort函数用法]]></title><link>https://blog.youkuaiyun.com/Mr_warm/article/details/39005181</link><guid>https://blog.youkuaiyun.com/Mr_warm/article/details/39005181</guid><author>Mr_warm</author><pubDate>Tue, 02 Sep 2014 13:40:18 +0800</pubDate><description><![CDATA[#include 
using namespace std;
#include 
#include 

typedef struct Test
{
public:
	int n;
	char* s;
}Test;

vector t;

bool intcmp(Test a,Test b)
{    
	return a.n < b.n;
}

bool st]]></description><category></category></item><item><title><![CDATA[双链表基本操作]]></title><link>https://blog.youkuaiyun.com/Mr_warm/article/details/31777359</link><guid>https://blog.youkuaiyun.com/Mr_warm/article/details/31777359</guid><author>Mr_warm</author><pubDate>Tue, 17 Jun 2014 16:29:00 +0800</pubDate><description><![CDATA[#include 
#include 
#include 

#define DNODE_SIZE sizeof(DNode)

typedef struct _tagDNode
{
	int value;
	struct _tagDNode *prov;
	struct _tagDNode *next;
}DNode;

DNode* create_double_lin]]></description><category></category></item><item><title><![CDATA[自己写的单链表操作]]></title><link>https://blog.youkuaiyun.com/Mr_warm/article/details/31398847</link><guid>https://blog.youkuaiyun.com/Mr_warm/article/details/31398847</guid><author>Mr_warm</author><pubDate>Mon, 16 Jun 2014 17:19:27 +0800</pubDate><description><![CDATA[#include 
#include 
#include 

#define NODE_SIZE sizeof(Node)

typedef struct _tagNode
{
	int value;
	struct _tagNode *next;
}Node;

Node* createlink(Node *cur)
{
	Node* pn = NULL;
	pn ]]></description><category></category></item><item><title><![CDATA[根据结构体某个成员的地址求出结构体所有成员的值]]></title><link>https://blog.youkuaiyun.com/Mr_warm/article/details/28439621</link><guid>https://blog.youkuaiyun.com/Mr_warm/article/details/28439621</guid><author>Mr_warm</author><pubDate>Wed, 04 Jun 2014 18:02:45 +0800</pubDate><description><![CDATA[思路：根据结构体部分成员的值，求出该结构体的首地址，从而求出所有成员的值。
下面是一个结构体的内存模型
低地址          ——>              高地址
|_________|______|______|_____________|
首地址   
成员1  成员2 
成员3 ……   末地址
 
根据内存模型，思考：如果可以求出某个成员的地址，再求出该成员离首地址]]></description><category></category></item><item><title><![CDATA[异或巧解筷子问题]]></title><link>https://blog.youkuaiyun.com/Mr_warm/article/details/24091513</link><guid>https://blog.youkuaiyun.com/Mr_warm/article/details/24091513</guid><author>Mr_warm</author><pubDate>Sat, 19 Apr 2014 09:57:23 +0800</pubDate><description><![CDATA[经常会遇到这样的题目：]]></description><category></category></item><item><title><![CDATA[通过子网掩码判断两个IP是否在同一网段]]></title><link>https://blog.youkuaiyun.com/Mr_warm/article/details/23951807</link><guid>https://blog.youkuaiyun.com/Mr_warm/article/details/23951807</guid><author>Mr_warm</author><pubDate>Thu, 17 Apr 2014 18:23:02 +0800</pubDate><description><![CDATA[#include 
#include 
#include 

unsigned char checkipv4seg(int seg)
{
	if (seg  255)
		return 0;
	return 1;
}

unsigned char checkvalid(const char* ipv4)
{
	int seg1,seg2,seg3,seg4;
	int ]]></description><category></category></item><item><title><![CDATA[输入年月日，求该年年初到此时的天数]]></title><link>https://blog.youkuaiyun.com/Mr_warm/article/details/23762519</link><guid>https://blog.youkuaiyun.com/Mr_warm/article/details/23762519</guid><author>Mr_warm</author><pubDate>Tue, 15 Apr 2014 15:23:34 +0800</pubDate><description><![CDATA[#include  

unsigned char leapyear(int year)
{
	if((year % 400 == 0) || (year % 4 == 0) && (year % 100 != 0))
		return 1;
	return 0;
}

unsigned char checkvalid(int year, int month, int day)]]></description><category></category></item><item><title><![CDATA[获取一个整型数组前三个最大的值]]></title><link>https://blog.youkuaiyun.com/Mr_warm/article/details/23292575</link><guid>https://blog.youkuaiyun.com/Mr_warm/article/details/23292575</guid><author>Mr_warm</author><pubDate>Wed, 09 Apr 2014 19:46:23 +0800</pubDate><description><![CDATA[没有用堆排序，遍历一次就够了]]></description><category></category></item><item><title><![CDATA[获取一个整型的每八位]]></title><link>https://blog.youkuaiyun.com/Mr_warm/article/details/22953317</link><guid>https://blog.youkuaiyun.com/Mr_warm/article/details/22953317</guid><author>Mr_warm</author><pubDate>Fri, 04 Apr 2014 18:22:52 +0800</pubDate><description><![CDATA[#include 

typedef union tagTestEndian
{
	char ch;
	int n;
}TestEndian;

int main()
{
    int ip = 0x12345678;
	TestEndian t;
	t.n = 1;
	if (t.ch) 
	{//大端
		printf("%x %x %x %x\n",((uns]]></description><category></category></item><item><title><![CDATA[获取一个子字符串第一次出现的位置]]></title><link>https://blog.youkuaiyun.com/Mr_warm/article/details/22948833</link><guid>https://blog.youkuaiyun.com/Mr_warm/article/details/22948833</guid><author>Mr_warm</author><pubDate>Fri, 04 Apr 2014 17:10:58 +0800</pubDate><description><![CDATA[int substr(const char *src,const char *substr)
{
	const char *p1,*p2;
	
	if (src == NULL || substr == NULL)
	{
		return -1;
	}
	
	p1 = src;
	while (*p1)
	{
		p2 = substr;
		if (*p1 != *p2]]></description><category></category></item></channel></rss>