07 2011 档案

摘要:指针和引用的区别(1)引用总是指向一个对象,没有所谓的 null reference .所有当有可能指向一个对象也由可能不指向对象则必须使用 指针. 由于C++ 要求 reference 总是指向一个对象所以 reference要求有初值. String & rs = string1; 由于没有所谓的 null reference 所以所以在使用前不需要进行测试其是否有值.,而使用指针则需要测试其的有效性. (2)指针可以被重新赋值而reference则总是指向最初或地的对象. (3)必须使用reference的场合. Operator[] 操作符 由于该操作符很特别地必须返回 [能够 阅读全文
posted @ 2011-07-23 11:18 webols 阅读(156) 评论(0) 推荐(0)
摘要:深度剖析C和C++的复杂类型声明曾经碰到过让你迷惑不解、类似于int * (* (*fp1) (int) ) [10];这样的变量声明吗?本文将由易到难,一步一步教会你如何理解这种复杂的C/C++声明。 我们将从每天都能碰到的较简单的声明入手,然后逐步加入const修饰符和typedef,还有函数指针,最后介绍一个能够让你准确地理解任何C/C++声明的“右左法则”。 需要强调一下的是,复杂的C/C++声明并不是好的编程风格;我这里仅仅是教你如何去理解这些声明。注意:为了保证能够在同一行上显示代码和相关注释,本文最好在至少1024x768分辨率的显示器上阅读。 让我们从一个非常简单的例子开始,如 阅读全文
posted @ 2011-07-23 11:02 webols 阅读(145) 评论(0) 推荐(0)
摘要:loopos@webols:~/work/apue$ gcc -o fig11.2 fig11.2.c/tmp/ccXTzASv.o: In function `main':fig11.2.c:(.text+0x2fe): undefined reference to `pthread_create'collect2: ld returned 1 exit status这个错误跟以前遇到的那个使用<math.h>头文件时,很多数学函数的找不到的提示类似,那时候是在编译的时候添加“-lm”选项。而此处产生这个问题原因是:pthread 库不是 Linux 系统默认的库 阅读全文
posted @ 2011-07-20 10:51 webols 阅读(117) 评论(0) 推荐(0)
摘要:原型:extern void *malloc(unsigned int num_bytes);头文件:在TC2.0中可以用malloc.h或 alloc.h (注意:alloc.h 与 malloc.h 的内容是完全一致的),而在Visual C++6.0中可以用malloc.h或者stdlib.h。功能:分配长度为num_bytes字节的内存块返回值:如果分配成功则返回指向被分配内存的指针,否则返回空指针NULL。当内存不再使用时,应使用free()函数将内存块释放。说明:关于该函数的原型,在旧的版本中malloc返回的是char型指针,新的ANSIC标准规定,该函数返回为void型指针,因 阅读全文
posted @ 2011-07-03 00:39 webols 阅读(328) 评论(0) 推荐(0)
摘要:在写一个程序代码分析程序时,运用的是C语言,其中一个函数,重复调用时malloc分配不了内存,可用new替换了就可以了,弄不明白什么原因。//分配一个函数; pFuncPro AddFunc(const char * name) { //为什么重复调用AddFunc函数malloc分配不了内存,而new可以; //pFuncPro func = (pFuncPro)malloc(sizeof(funcProLen)); pFuncPro func = new FuncPro; if(func != NULL) { //func->data = NULL; StrAssign... 阅读全文
posted @ 2011-07-03 00:31 webols 阅读(154) 评论(0) 推荐(0)