- 博客(11)
- 收藏
- 关注
转载 运算符重载
运算符重载只是一种“语法修饰” ,这意味着它是另一种调用函数的方法。不同之处是对于函数的参数不是出现在圆括号内,而是在我们总认为是运算符的字符的附 近。 1.但在 C + + 中,可以定义一个和类一起工作的新运算符。除了这个名字函数以关键字 o p e r a t o r开始,以运算符本身结束以外,这个定义和一个普通函数是一样的。这是仅有的差别。它像其他函数一样也是一个函数,当编译器看到它以适
2015-05-13 16:11:26
334
转载 copy构造函数
防止传值方式传递 我们也许会说: “如果我自己不写拷贝构造函数,编译器将为我创建。所以,我怎么能保证一个对象永远不会被通过传值方式传递呢?” 有一个简单的技术防止通过传值方式传递:声明一个私有( p r i v a t e)拷贝构造函数。我们甚至不必去定义它,除非我们的成员函数或友元( f r i e n d )函数需要执行传值方式的传递。如果用户试图用传值方式传递或返回对象,编译器将会发出一个
2015-05-13 15:15:03
390
转载 函数体内部的静态对象
1.函数体内部的静态对象 用户自定义的静态变量同一般的静态对象的规则是一样的, 而且它同样也必须有初始化操作。 但是,零赋值只对预定义类型有效,用户自定义类型必须用构造函数来初始化。因此,如果我们 在定义一个静态对象时没有指定构造函数参数,这个类就必须有缺省的构造函数。2 静态对象的析构函数 静态对象的析构函数(包括静态存储的所有对象,不仅仅是上例中的局部静态变量)在程序从main()
2015-05-11 11:00:39
869
转载 预处理器
#define DEBUG(X) cout<<#X " = " << X << endl上面的这个定义可以打印任何变量的值。我们也可以得到一个跟踪信息,在此信息里打印出它们执行的语句。 宏中的#代表字符串定义,它允许设定一个标识符并把它设为字符串。#define TRACE(S) cout << #S << endl; S# S定义了要输出的语句。第2个S重申了语句,所以这个语句被执行。当然,这可
2015-05-11 10:54:37
330
原创 CIFS 下opportunistic locks(机会锁)
cifs协议File and Record的locking当文件locked的时候,non-locking的应用是无法访问文件的。Safe caching, read-ahead, and write-behind cifs应该提供缓存,无论这个文件是不是加锁的,并使用读优先的方式。当只有一个client访问文件的时候,怎么操作文件都是安全的。当多个client通过读的方式访问一个文件的时候,
2015-05-06 18:21:20
7877
原创 Windows下的多媒体定时器:timeSetEvent
Windows下的多媒体定时器头文件:#include timeSetEvent(15000, 1, (LPTIMECALLBACK)onTimeFunc, (DWORD)this, TIME_PERIODIC);第一个参数是毫秒数,第二个参数是延迟时间,越小越精确,最小为1,第三个是回调函数,LPTIMECALLBACK的定义为:typedef TIMECALLBACK FA
2015-05-05 09:50:50
5785
转载 lib和dll中的全局变量
lib: lib中的全局变量在链接它的单元中是可以通过extern访问到的,但是链接它的单元如果定义了一个相同的全局变量那么lib中的全局变量将被忽略,而且不会出现重复定义的错误。lib中的函数则不相同如果链接它的单元有了相同的函数就会发生重复定义。在lib的cpp中定义一个静态的变量会被所有用到这个lib的模块公用,在链接一个程序的时候会自动的去掉重复链接的lib保证某个lib只有一份代码存在,
2015-04-27 14:46:18
1399
转载 c语言 一些自己的字符串处理函数
#include "strutil.h"#include "common.h"void str_trim_crlf(char *str){ char *p = &str[strlen(str)-1]; while (*p == '\r' || *p == '\n') *p-- = '\0';}void str_split(const char *str , char *lef
2014-09-01 12:39:18
384
转载 c语言 设置堵塞和非堵塞io的方法
66 void activate_nonblock(int fd)//设置非堵塞io,fd是io文件描述符 67 { 68 int ret; 69 int flags = fcntl(fd, F_GETFL);//F_GETFL获取标志位flag 70 if (flags == -1) 71 ERR_EXIT("fcntl"); 72
2014-09-01 12:20:45
1284
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人