- 博客(18)
- 收藏
- 关注
原创 C++11右值引用自写测试例子
#include#include#include/**C++ 11增加一个新的引用(reference)类型称作右值引用(R-value reference),*标记为typename &&。他们能够以non-const值的方式传入,允许对象去改动他们*而右值引用又是为了实现转移语义,避免内存的拷贝*/#define null 0//! 左值 void PrintVal(in
2015-04-16 13:36:42 796
原创 读effective c++条款04的一个读书笔记
如果某个编译单元A内部初始化时使用了另外一个编译单元B里面的non-local static对象,则编译时是不确定A使用了B中的对象是否初始化的。那么就有可能引起灾难,为了避免这个灾难我们找到了一种新方法:它使用了一个特性,函数内的本地静态对象会在“该函数被调用期间” “首次遇上该对象之定义式”时被初始化,如果使用“函数调用”(返回一个本地静态对象的引用)替换直接访问全局对象,就可以获得一个保
2014-02-11 17:06:38 601
原创 使用匿名名称空间需要注意事项
有时候为了简便,在包含头文件时,使用匿名名称空间来避免重复包含的引起的multiple definition of这类错误。但是,要注意的是,如果两个文件包含同一个匿名名称空间的类,然后通过这个类生成对象时。他们的适配类型并不同!!!!也就是如果在一个类中有一个成员函数使用名称空间里面的类的类型做参数,在另外一个文件包含匿名名称空间里面的类使用此对象传入参数到此函数时,类型并不匹配。就可能
2013-12-27 15:59:24 868
原创 C++的一些小知识点
1.类中的常成员函数常成员函数声明方式为void add(int a) const;为在函数后面加const关键字,在c++中,常成员函数与常量class有很多关系。为了保证class里的成员是只读的,所以常class对象只能调用常成员函数。所以当声明一个如下的类时:class M{public: int a; void fun(int a)const
2013-12-25 18:50:02 578
原创 自己写的一个c++管理buffer
//创建一个循环链表来作为接受对方数据的缓存#include#include#include#includetypedef struct node{ char *data; char *id; bool is_data; struct node *next;}buffer_node;class buffer{private: buffer_node *bufferl
2013-12-20 10:03:49 1315
原创 挖掘信息熵(读kmp算法有感)
1.关于kmp算法kmp算法实质是在进行一个字符串对另外一个字符串进行匹配时,进行的一系列简化算法。通过挖掘目标字符串内部的信息,从而获得一个更快的匹配速度。so,这儿关键是挖掘字符串内部的信息。以获得更多的信息。2.推广通过阅读kmp我感受到,很多算法的实现其实是一个挖掘目标信息,然后实现目标的过程。所以,我们在算法中首先要把目标的信息挖掘完毕,那么我们的算法消耗资源也就越小
2013-12-02 17:21:51 602
转载 Linus:利用二级指针删除单向链表
Linus大婶在slashdot上回答一些编程爱好者的提问,其中一个人问他什么样的代码是他所喜好的,大婶表述了自己一些观点之后,举了一个指针的例子,解释了什么才是core low-level coding。下面是Linus的教学原文及翻译——“At the opposite end of the spectrum, I actually wish more people understoo
2013-12-02 16:27:46 537
原创 《More effective C++》 中条款三 不要用多态方式处理数组以及数组的析构
Base* pBase = new Derived[10];delete[] pBase;pBase是一个指向Base基类的指针,用它来new一个派生类数组,也确实可以得到相应的内存空间。但是在删除数组时使用delete[],由于delete删除对象是按指针指向的元素大小作为偏移量来调用析构函数,所以如果两个类的大小不一样,那么只可能会是数组第一个元素正确析构,后面的统统失败。所以这样的
2013-11-29 15:21:08 642
原创 写写本人关于c/c++的引用,指针,虚函数的理解
1.指针:c是一门经典的语言,在下开始学习c,最难的部分,就是指针了。指针即为指向某个元素或者实体的地址,但是指针的内涵,不仅仅限于地址。不知道有没有人注意到,指针还有一个指向的涵义。如int* fun(void *a){ int *b=(int*)a; printf("%d\n",*b); return b;}本身传进来的a指针是指
2013-11-28 11:03:10 724
转载 父类析构函数为非虚函数,子类为虚函数
class Base{public: ~Base() { cout<<"~Base()"<<endl; }};class ABase : public Base{public: virtual ~ABase() { cout<<"~ABase()"<<endl; }};int _tmain(int argc, _TCHAR
2013-11-18 10:28:34 3458
转载 关于线程池结构以及互斥锁的运行机制
/********************************************************************************//作者:Honglizheng 原帖地址 http://www.cnblogs.com/newth/archive/2012/05/09/2492459.html////线程池技术:1.创建2个结构体,一个为链表,另外//一个为
2013-11-15 17:13:24 743
原创 javascript的一些基础知识
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):
2013-10-25 14:11:37 553
原创 html与javascript遇到的问题
1.如何获取表单信息:要使用javascript获取表单里面的信息,直接使用getElen..byid是不行的,需要使用document.forms["表单名"]。2.ajax异步执行xmlhttp.onreadystatechange=function()这个回调函数是在js主函数执行完毕后,它仍然没有执行,并且在这个函数里面返回值并不能返回到外层函数。1.onreadystat
2013-10-25 14:09:01 698
原创 sql语句总结
查询语句:selectselect '*代表全部显示,也可以列出想要显示的' from '表名' where '字段名' like '要查询的东西的名字' limit 0, 30限制查询所得的结果。where后也可以接=代表绝对相等 而like可以使用*等通配符进行模糊查询;查询列出非重复值:select distinct company from orders意思为从company中
2013-10-25 14:05:20 541
原创 个人学习php的一些注意点的总结
1.php传值到javascriptphp传值给javascript的方式:需要在标签外面打上引号document.getElementById("titor"+a+b).innerHTML="";注:实际上原先本人理解有错,php为动态显示语言。实际上为显示相关文本的echo里面,因为原来的不带引号,所以加引号是自然的2.时间戳转换strtotime可以把mysql里面的
2013-10-25 13:59:55 954
原创 关于epoll服务器反馈的简单实现
#include#include#include#include#include#include#include#include#include#include#define MY_PORT 8848#define MY_SIZE 100int setnonblocking(int sockfd){ if(fcntl(sockfd, F_SETFL, fcntl(so
2013-10-25 13:53:06 757
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人