linux c/c++应用编程
文章平均质量分 80
zhl11a
这个作者很懒,什么都没留下…
展开
-
关于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 阅读 · 0 评论 -
使用匿名名称空间需要注意事项
有时候为了简便,在包含头文件时,使用匿名名称空间来避免重复包含的引起的multiple definition of这类错误。但是,要注意的是,如果两个文件包含同一个匿名名称空间的类,然后通过这个类生成对象时。他们的适配类型并不同!!!!也就是如果在一个类中有一个成员函数使用名称空间里面的类的类型做参数,在另外一个文件包含匿名名称空间里面的类使用此对象传入参数到此函数时,类型并不匹配。就可能原创 2013-12-27 15:59:24 · 868 阅读 · 0 评论 -
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 阅读 · 0 评论 -
自己写的一个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 阅读 · 0 评论 -
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 阅读 · 0 评论 -
《More effective C++》 中条款三 不要用多态方式处理数组以及数组的析构
Base* pBase = new Derived[10];delete[] pBase;pBase是一个指向Base基类的指针,用它来new一个派生类数组,也确实可以得到相应的内存空间。但是在删除数组时使用delete[],由于delete删除对象是按指针指向的元素大小作为偏移量来调用析构函数,所以如果两个类的大小不一样,那么只可能会是数组第一个元素正确析构,后面的统统失败。所以这样的原创 2013-11-29 15:21:08 · 642 阅读 · 0 评论 -
写写本人关于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 阅读 · 0 评论 -
父类析构函数为非虚函数,子类为虚函数
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 · 3460 阅读 · 0 评论 -
关于线程池结构以及互斥锁的运行机制
/********************************************************************************//作者:Honglizheng 原帖地址 http://www.cnblogs.com/newth/archive/2012/05/09/2492459.html////线程池技术:1.创建2个结构体,一个为链表,另外//一个为转载 2013-11-15 17:13:24 · 743 阅读 · 0 评论 -
读effective c++条款04的一个读书笔记
如果某个编译单元A内部初始化时使用了另外一个编译单元B里面的non-local static对象,则编译时是不确定A使用了B中的对象是否初始化的。那么就有可能引起灾难,为了避免这个灾难我们找到了一种新方法:它使用了一个特性,函数内的本地静态对象会在“该函数被调用期间” “首次遇上该对象之定义式”时被初始化,如果使用“函数调用”(返回一个本地静态对象的引用)替换直接访问全局对象,就可以获得一个保原创 2014-02-11 17:06:38 · 601 阅读 · 0 评论