- 博客(20)
- 资源 (2)
- 收藏
- 关注
转载 在linux c++类中的成员函数里创建多线程要注意的地方
如何在linux 下c++中类的成员函数中创建多线程linux系统中线程程序库是POSIX pthread。POSIX pthread它是一个c的库,用C语言进行多线程编程我这里就不多说了,网上的例子很多。但是如何在C++的类中实现多线程编程呢?如果套用C语言中创建多线程的方式,在编译的时候会出现...does not match `void*(*)(void*)..这样的错误。出现这种情况的
2008-09-28 11:32:00 6727
转载 打造最快的Hash表(和Blizzard的对话)
打造最快的Hash表(和Blizzard的对话)開元最近学习了一下Blizzard的MPQ文件格式,颇有一些心得,其中一条就是对HastTable的理解,很想写出来给大家共享,感谢Justin Olbrantz的文章《Inside MoPaQ》,大多认识来源于此。 先提一个简单的问题,如果有一个庞大的字符串数组,然后给你一个单独的字符串,让你从这个数组中查找是否有这个字符串并找到它,你会
2008-09-25 10:37:00 841
转载 GNU C与ANSI C
原帖:[url]http://hi.baidu.com/deep_pro/blog/item/c59470afea08f0ca7dd92a1b.html[/url][quote]1.允许零长度数组GNU C允许零长度数组,在定义变长对象的头结构时,这个特性非常有用。struct var_data s{ int len; char data[0];};char d
2008-09-24 13:26:00 942
原创 比较有用的linux命令
msn:jinglexy at yahoo dot com dot cn/sbin/blockdev -v --getss /dev/hda1 查看分区区块大小/sbin/blockdev -v --getsize /dev/hda1 查看分区总大小/sbin/chkconfig --list 列出各个run lever下服务状态csplit big.txt 10
2008-09-23 15:42:00 717
转载 自己动手写内核
声明:转载请保留:译者:http://jinglexy.cublog.cn原作者:xiaoming.mo at skelix dot orgMSN & Email: jinglexy at yahoo dot com dot cn这节课我们讲述的内容与操作系统暂无太大关系,但是这些基础函数非常重要,并且在后面的课程中经常用到。这就是我们经常听到的内核库。如果你对这些不是很感兴趣,知道k
2008-09-23 15:21:00 1651
原创 linux下比较全的常用的压缩以及解压用法
大致总结了一下linux下各种格式的压缩包的压缩、解压方法。但是部分方法我没有用到,也就不全,我将随时修改完善! .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) --------------------------------------------- .gz 解压1:gunzip File
2008-09-23 10:26:00 665
原创 关于仿函数的应用
在使用仿函数的时候,主要用到以下两种:一种是以基类std::unary_function派生出来的派生类;另一种是以基类std::binary_function派生出来的派生类。而这两种有什么区别呢?它们之间的区别只是第一种接收的参数个数为一个,而第二种接收的参数的个数为两个。仅此而已。好了,我们还是来几个例子看看:第一种的使用templateclass MeetsThreshold:
2008-09-22 22:07:00 682
转载 常对象与常成员函数的关系
(1) 常对象用const修饰的对象叫对象常量,其格式如下:〈类名〉const 〈对象名〉 或者 const 〈类名〉〈对象名〉声明为常对象的同时必须被初始化,并从此不能改写对象的数据成员。例:分析下列错误的地方,说明理由;#includeclass Point{ int x, y;public:Point(int a, int b) { x=a; y=b;}Void MovePoint( i
2008-09-18 21:13:00 2855 2
原创 Pointers to Class Members Are Not Pointers(指向类成员函数的“指针”并非指针)
Item 15. Pointers to Class Members Are Not PointersPointers to Class Members:指向类成员的指针注:本条中只涉及到非静态的数据成员--------------------------------------------------------1、类成员的指针之声明: class C { public: //.
2008-09-18 15:33:00 772
转载 类中的static data member以及static member functions的用法
要理解static,就必须要先理解另一个与之相对的关键字,很多人可能都还不知道有这个关键字,那就是auto,其实我们通常声明的不用static修饰的变量,都是auto的,因为它是默认的,就象short和long总是默认为int一样;我们通常声明一个变量: int a; string s; 其实就是: auto int a; auto string s; 而sta
2008-09-18 15:03:00 1218
转载 深入C++的new
“new”是C++的一个关键字,同时也是操作符。关于new的话题非常多,因为它确实比较复杂,也非常神秘,下面我将把我了解到的与new有关的内容做一个总结。new的过程当我们使用关键字new在堆上动态创建一个对象时,它实际上做了三件事:获得一块内存空间、调用构造函数、返回正确的指针。当然,如果我们创建的是简单类型的变量,那么第二步会被省略。假如我们定义了如下一个类A:class A{
2008-09-16 16:31:00 558
原创 巧妙利用union用来判断大小端的应用
struct TestPoint3d{ union { struct { unsigned int x:1; unsigned int y:1; unsigned int z:30; }; unsigned int loc;
2008-09-16 15:12:00 476
原创 STL中的型别
一、常整数映射为型别Alexandrescu提出的简单而有用的templatetemplate struct Int2Type{ enum { value = v };};template class NiftyContainer{private: void DoSomething(T* pObj, int2Type)
2008-09-11 15:34:00 572
原创 编译期检测错误(compile-time assertions)
这里依赖于一个事实:声明下标大小为零或负数的数组是非法的。举个例子#define STATIC_CHECK(expr) { char unnamed[(expr) ? 1 : 0]; } 这种在编译期检查出错误可以增加程序的健壮性 这里设置一个模板的检查方式template struct CompileTime;template struct Compile
2008-09-11 14:40:00 943
原创 union可以避免c++的类型检查
在阅读到fastdelegate.h中,看到这么一段代码template union horrible_union{ OutputClass out; InputClass in;}; templateinline OutputClass horrible_cast(const InputClass input){ horrible_
2008-09-06 16:57:00 819
转载 C++风格的各种类型转换
尽量使用C++风格的类型转换 仔细想想地位卑贱的类型转换功能(cast),其在程序设计中的地位就象goto语句一样令人鄙视。但是它还不是无法令人忍受,因为当在某些紧要的关头,类型转换还是必需的,这时它是一个必需品。 不过C风格的类型转换并不代表所有的类型转换功能。 一来它们过于粗鲁,能允许你在任何类型之间进行转换。不过如果要进行更精确的类型转换,这会是一个优点。在这些类型转
2008-09-06 16:43:00 745
转载 成员函数指针与高性能的C++委托(下篇)
成员函数指针与高性能的C++委托(下篇) Member Function Pointers and the Fastest Possible C++ Delegates撰文:Don Clugston 翻译:周翔(接中篇)委托(delegate)和成员函数指针不同,你不难发现委托的用处。最重要的,使用委托可以很容易地实现一个Subject/Observer设计模
2008-09-05 13:50:00 581
转载 成员函数指针与高性能的C++委托(中篇)
成员函数指针与高性能的C++委托(中篇) Member Function Pointers and the Fastest Possible C++ Delegates撰文:Don Clugston 翻译:周翔(接上篇)成员函数指针——为什么那么复杂?类的成员函数和标准的C函数有一些不同。与被显式声明的参数相似,类的成员函数有一个隐藏的参数this,它指向一个
2008-09-05 13:49:00 769
转载 成员函数指针与高性能的C++委托(上篇)
Member Function Pointers and the Fastest Possible C++ Delegates撰文:Don Clugston 翻译:周翔引子标准C++中没有真正的面向对象的函数指针。这一点对C++来说是不幸的,因为面向对象的指针(也叫做“闭包(closure)”或“委托(delegate)”)在一些语言中已经证明了它宝贵的价值。在Delp
2008-09-05 13:45:00 586
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人