<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[zhl11a的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/zhl11a</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; zhl11a]]></copyright><item><title><![CDATA[C++11右值引用自写测试例子]]></title><link>https://blog.youkuaiyun.com/zhl11a/article/details/45074111</link><guid>https://blog.youkuaiyun.com/zhl11a/article/details/45074111</guid><author>zhl11a</author><pubDate>Thu, 16 Apr 2015 13:36:42 +0800</pubDate><description><![CDATA[#include
#include
#include
/*
*C++ 11增加一个新的引用（reference）类型称作右值引用（R-value reference），
*标记为typename &&。他们能够以non-const值的方式传入，允许对象去改动他们
*而右值引用又是为了实现转移语义，避免内存的拷贝
*/
#define null 0

//! 左值 
void PrintVal(in]]></description><category></category></item><item><title><![CDATA[C#通过pInvoke调用C++代码传值简单解析]]></title><link>https://blog.youkuaiyun.com/zhl11a/article/details/41411699</link><guid>https://blog.youkuaiyun.com/zhl11a/article/details/41411699</guid><author>zhl11a</author><pubDate>Sun, 23 Nov 2014 17:30:42 +0800</pubDate><description><![CDATA[C#与C++有多种传值方式，通常用的有.com]]></description><category></category></item><item><title><![CDATA[小函数sscanf的妙用]]></title><link>https://blog.youkuaiyun.com/zhl11a/article/details/41049191</link><guid>https://blog.youkuaiyun.com/zhl11a/article/details/41049191</guid><author>zhl11a</author><pubDate>Wed, 12 Nov 2014 21:48:37 +0800</pubDate><description><![CDATA[在编码过程中你可能]]></description><category></category></item><item><title><![CDATA[读effective c++条款04的一个读书笔记]]></title><link>https://blog.youkuaiyun.com/zhl11a/article/details/19080009</link><guid>https://blog.youkuaiyun.com/zhl11a/article/details/19080009</guid><author>zhl11a</author><pubDate>Tue, 11 Feb 2014 17:06:38 +0800</pubDate><description><![CDATA[如果某个编译单元A内部初始化时使用了另外一个编译单元B里面的non-local static对象，则编译时是不确定A使用了B中的对象是否初始化的。那么就有可能引起灾难，为了避免这个灾难我们找到了一种新方法：
它使用了一个特性，函数内的本地静态对象会在“该函数被调用期间” “首次遇上该对象之定义式”时被初始化，如果使用“函数调用”（返回一个本地静态对象的引用）替换直接访问全局对象，就可以获得一个保]]></description><category></category></item><item><title><![CDATA[使用匿名名称空间需要注意事项]]></title><link>https://blog.youkuaiyun.com/zhl11a/article/details/17612975</link><guid>https://blog.youkuaiyun.com/zhl11a/article/details/17612975</guid><author>zhl11a</author><pubDate>Fri, 27 Dec 2013 15:59:24 +0800</pubDate><description><![CDATA[有时候为了简便，在包含头文件时，使用匿名名称空间来避免重复包含的引起的multiple definition of这类错误。
但是，要注意的是，如果两个文件包含同一个匿名名称空间的类，然后通过这个类生成对象时。他们的适配类型并不同！！！！
也就是如果在一个类中有一个成员函数使用名称空间里面的类的类型做参数，在另外一个文件包含匿名名称空间里面的类使用此对象传入参数到此函数时，类型并不匹配。就可能]]></description><category></category></item><item><title><![CDATA[C++的一些小知识点]]></title><link>https://blog.youkuaiyun.com/zhl11a/article/details/17560939</link><guid>https://blog.youkuaiyun.com/zhl11a/article/details/17560939</guid><author>zhl11a</author><pubDate>Wed, 25 Dec 2013 18:50:02 +0800</pubDate><description><![CDATA[1.类中的常成员函数
常成员函数声明方式为void add(int a) const;为在函数后面加const关键字，在c++中，常成员函数与常量class有很多关系。为了保证class里的成员是只读的，所以常class对象只能调用常成员函数。所以当声明一个如下的类时：class M{
public:
          int a;
          void fun(int a)const]]></description><category></category></item><item><title><![CDATA[自己写的一个c++管理buffer]]></title><link>https://blog.youkuaiyun.com/zhl11a/article/details/17436139</link><guid>https://blog.youkuaiyun.com/zhl11a/article/details/17436139</guid><author>zhl11a</author><pubDate>Fri, 20 Dec 2013 10:03:49 +0800</pubDate><description><![CDATA[//创建一个循环链表来作为接受对方数据的缓存
#include
#include
#include
#include
typedef struct node
{
	char *data;
	char *id;
	bool is_data;
	struct node *next;
}buffer_node;

class buffer
{
private:
	buffer_node *bufferl]]></description><category></category></item><item><title><![CDATA[挖掘信息熵（读kmp算法有感）]]></title><link>https://blog.youkuaiyun.com/zhl11a/article/details/17076811</link><guid>https://blog.youkuaiyun.com/zhl11a/article/details/17076811</guid><author>zhl11a</author><pubDate>Mon, 02 Dec 2013 17:21:51 +0800</pubDate><description><![CDATA[1.关于kmp算法
kmp算法实质是在进行一个字符串对另外一个字符串进行匹配时，进行的一系列简化算法。
通过挖掘目标字符串内部的信息，从而获得一个更快的匹配速度。
so，这儿关键是挖掘字符串内部的信息。以获得更多的信息。
2.推广
通过阅读kmp我感受到，很多算法的实现其实是一个挖掘目标信息，然后实现目标的过程。所以，我们在算法中首先要把目标的信息挖掘完毕，那么我们的算法消耗资源也就越小]]></description><category></category></item><item><title><![CDATA[Linus：利用二级指针删除单向链表]]></title><link>https://blog.youkuaiyun.com/zhl11a/article/details/17075821</link><guid>https://blog.youkuaiyun.com/zhl11a/article/details/17075821</guid><author>zhl11a</author><pubDate>Mon, 02 Dec 2013 16:27:46 +0800</pubDate><description><![CDATA[Linus大婶在slashdot上回答一些编程爱好者的提问，其中一个人问他什么样的代码是他所喜好的，大婶表述了自己一些观点之后，举了一个指针的例子，解释了什么才是core low-level coding。
下面是Linus的教学原文及翻译——
“At the opposite end of the spectrum, I actually wish more people understoo]]></description><category></category></item><item><title><![CDATA[《More effective C++》 中条款三 不要用多态方式处理数组以及数组的析构]]></title><link>https://blog.youkuaiyun.com/zhl11a/article/details/17025103</link><guid>https://blog.youkuaiyun.com/zhl11a/article/details/17025103</guid><author>zhl11a</author><pubDate>Fri, 29 Nov 2013 15:21:08 +0800</pubDate><description><![CDATA[Base* pBase = new Derived[10];
delete[] pBase;
pBase是一个指向Base基类的指针，用它来new一个派生类数组，也确实可以得到相应的内存空间。
但是在删除数组时使用delete[]，由于delete删除对象是按指针指向的元素大小作为偏移量来调用析构函数，所以如果两个类的大小不一样，那么只可能会是数组第一个元素正确析构，后面的统统失败。所以这样的]]></description><category></category></item><item><title><![CDATA[写写本人关于c/c++的引用，指针，虚函数的理解]]></title><link>https://blog.youkuaiyun.com/zhl11a/article/details/17001075</link><guid>https://blog.youkuaiyun.com/zhl11a/article/details/17001075</guid><author>zhl11a</author><pubDate>Thu, 28 Nov 2013 11:03:10 +0800</pubDate><description><![CDATA[1.指针：
c是一门经典的语言，在下开始学习c，最难的部分，就是指针了。指针即为指向某个元素或者实体的地址，但是指针的内涵，不仅仅限于地址。
不知道有没有人注意到，指针还有一个指向的涵义。如

int* fun(void *a)
{
      int *b=(int*)a;
      printf("%d\n",*b);
      return b;
}

本身传进来的a指针是指]]></description><category></category></item><item><title><![CDATA[父类析构函数为非虚函数，子类为虚函数]]></title><link>https://blog.youkuaiyun.com/zhl11a/article/details/16801445</link><guid>https://blog.youkuaiyun.com/zhl11a/article/details/16801445</guid><author>zhl11a</author><pubDate>Mon, 18 Nov 2013 10:28:34 +0800</pubDate><description><![CDATA[class Base

{

public:

	~Base()

	{

		cout<<"~Base()"<<endl;

	}

};



class ABase : public Base

{

public:

	virtual ~ABase()

	{

		cout<<"~ABase()"<<endl;

	}

};



int _tmain(int argc, _TCHAR]]></description><category></category></item><item><title><![CDATA[关于线程池结构以及互斥锁的运行机制]]></title><link>https://blog.youkuaiyun.com/zhl11a/article/details/16342799</link><guid>https://blog.youkuaiyun.com/zhl11a/article/details/16342799</guid><author>zhl11a</author><pubDate>Fri, 15 Nov 2013 17:13:24 +0800</pubDate><description><![CDATA[/********************************************************************************
//作者：Honglizheng 原帖地址 http://www.cnblogs.com/newth/archive/2012/05/09/2492459.html
//
//线程池技术：1.创建2个结构体，一个为链表，另外
//一个为]]></description><category></category></item><item><title><![CDATA[javascript的一些基础知识]]></title><link>https://blog.youkuaiyun.com/zhl11a/article/details/13019669</link><guid>https://blog.youkuaiyun.com/zhl11a/article/details/13019669</guid><author>zhl11a</author><pubDate>Fri, 25 Oct 2013 14:11:37 +0800</pubDate><description><![CDATA[1.创建JavaScript数组:
下面的代码创建名为 cars 的数组：
var cars=new Array();
cars[0]="Audi";
cars[1]="BMW";
cars[2]="Volvo";
或者 (condensed array):
var cars=new Array("Audi","BMW","Volvo");
或者 (literal array):]]></description><category></category></item><item><title><![CDATA[html与javascript遇到的问题]]></title><link>https://blog.youkuaiyun.com/zhl11a/article/details/13019609</link><guid>https://blog.youkuaiyun.com/zhl11a/article/details/13019609</guid><author>zhl11a</author><pubDate>Fri, 25 Oct 2013 14:09:01 +0800</pubDate><description><![CDATA[1.如何获取表单信息：
要使用javascript获取表单里面的信息，直接使用getElen..byid是不行的，需要使用document.forms["表单名"]。
2.ajax异步执行
xmlhttp.onreadystatechange=function()这个回调函数是在js主函数执行完毕后，它仍然没有执行，并且在这个函数里面返回值并不能返回到外层函数。
1.onreadystat]]></description><category></category></item><item><title><![CDATA[sql语句总结]]></title><link>https://blog.youkuaiyun.com/zhl11a/article/details/13019545</link><guid>https://blog.youkuaiyun.com/zhl11a/article/details/13019545</guid><author>zhl11a</author><pubDate>Fri, 25 Oct 2013 14:05:20 +0800</pubDate><description><![CDATA[查询语句：select
select '*代表全部显示，也可以列出想要显示的' from '表名' where '字段名' like '要查询的东西的名字' limit 0， 30限制查询所得的结果。
where后也可以接=代表绝对相等 而like可以使用*等通配符进行模糊查询；
查询列出非重复值：select distinct company from orders意思为从company中]]></description><category></category></item><item><title><![CDATA[个人学习php的一些注意点的总结]]></title><link>https://blog.youkuaiyun.com/zhl11a/article/details/13019495</link><guid>https://blog.youkuaiyun.com/zhl11a/article/details/13019495</guid><author>zhl11a</author><pubDate>Fri, 25 Oct 2013 13:59:55 +0800</pubDate><description><![CDATA[1.php传值到javascript
php传值给javascript的方式：需要在标签外面打上引号
document.getElementById("titor"+a+b).innerHTML="";

注：实际上原先本人理解有错，php为动态显示语言。实际上为显示相关文本的echo里面，因为原来的不带引号，所以加引号是自然的
2.时间戳转换
strtotime可以把mysql里面的]]></description><category></category></item><item><title><![CDATA[关于epoll服务器反馈的简单实现]]></title><link>https://blog.youkuaiyun.com/zhl11a/article/details/13019237</link><guid>https://blog.youkuaiyun.com/zhl11a/article/details/13019237</guid><author>zhl11a</author><pubDate>Fri, 25 Oct 2013 13:53:06 +0800</pubDate><description><![CDATA[#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define MY_PORT 8848
#define MY_SIZE 100

int setnonblocking(int sockfd)
{
	if(fcntl(sockfd, F_SETFL, fcntl(so]]></description><category></category></item></channel></rss>