zz 拷贝构造函数及其参数类型

拷贝构造函数的参数类型必须是引用,而且通常情况下还是const的,但是const并不是严格必须的。 #include <iostream> #include <string> using namespace std; class CClass { public: CClass() : a(1), b("Hello, world.") { } // 拷贝构造函数,参数中的const不是严格必须的,但引用符号是必须的 CClass(const CClass&amp;...
2011-03-31 00:31 | 阅读 868 次 | 评论 0 条

zz 为什么需要auto_ptr_ref

转载自:http://www.udpwork.com/item/2452.html 感谢原作者,本人也被困扰了整一个晚上。 +++++++++++++++++++++++++++++++++++ 这几天开始拜读侯捷先生和孟岩先生的译作《C++标准程序库:自修教程与参考手册》。两位先生确实译功上乘,读得很顺。但是读到P55页关于auto_ptr_ref的讨论,却百思不得其解:为什么需要引入auto_ptr_ref这个辅助类呢? 从书中描述来看,仿佛与拷贝构造函数、右值、类型转换有关。于是,结合auto_ptr的源代码,google之、baidu之,找了一推资料,终于初步搞清该问...
2011-03-31 00:30 | 阅读 963 次 | 评论 0 条

zz C语言:typedef详解

1. 基本解释   typedef为C语言的关键字,作用是为一种数据类型定义一个新名字。这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等)。   在编程中使用typedef目的一般有两个,一个是给变量一个易记且意义明确的新名字,另一个是简化一些比较复杂的类型声明。   至于typedef有什么微妙之处,请你接着看下面对几个问题的具体阐述。  2. typedef &amp; 结构的问题   当用下面的代码定义一个结构时,编译器报了一个错误,为什么呢?莫非C语言不允许在结构中包含指向它自己的指针吗?请你先猜想一下,然后看下文说明...
2011-03-28 09:24 | 阅读 762 次 | 评论 0 条

zz linux内核中的list_entry宏

初学linux内核代码,将学习中的一些知识点保存起来,方便以后查阅。 list_entry宏是用来根据list_head指针查找链表所嵌入的结构体的地址,具体查找方法如下: #define list_entry(ptr, type, member) \ container_of(ptr, type, member) list_entry只是一层封装,实际上起作用的是container_of宏, #define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member )...
2010-10-29 14:51 | 阅读 873 次 | 评论 0 条

zz内存池技术的介绍文章

曾经看到过一篇关于内存池技术的介绍文章,受益匪浅,拿出来分享。 原贴地址:http://www.ibm.com/developerworks/cn/linux/l-cn-ppp/index6.html 6.1 自定义内存池性能优化的原理 如前所述,读者已经了解到"堆"和"栈"的区别。而在编程实践中,不可避免地要大量用到堆上的内存。例如在程序中维护一个链表的数据结构时,每次新增或者 删除一个链表的节点,都需要从内存堆上分配或者释放一定的内存;在维护一个动态数组时,如果动态数组的大小不能满足程序需要时,也要在内存堆上分配新的内 存空间。6.1.1 默认内存管理函数的不足利用默认的内存管理...
2010-08-09 11:42 | 阅读 779 次 | 评论 0 条

zz检查素数的正则表达式

一般来说,我们会使用正规表达式来做字符串匹配,今天在网上浏览的时候,看到了有人用正则表达式来检查一个数字是否为素数(质数),让我非常感兴趣,这个正则表达式如入所示:检查素数与否的正则表达式要使用这个正规则表达式,你需要把自然数转成多个1的字符串,如:2 要写成 “11”, 3 要写成 “111”, 17 要写成“11111111111111111”,这种工作使用一些脚本语言可以轻松的完成。一开始我对这个表达式持怀疑态度,但仔细研究了一下这个表达式,发现是非常合理的,下面,让我带你来细细剖析一下是这个表达式的工作原理。首先,我们看到这个表达式中有“|”,也就是说这个表达式可以分成两个部分:...
2010-08-09 10:23 | 阅读 783 次 | 评论 0 条

zz编程命名中的7+1个提示

1.- 变量应该是尽可能的望文知意。千万不要使用教材中的命名方式。好的变量: daysDateRange, flightNumber, carColor.坏的变量: days, dRange, temp, data, aux…在我们的日常工作中,有很大数量的开发人员喜欢使用短的变量名,而不是有含义的变量名。这主要是因为我们大学教科书的那些示例所造成的,人都是先入为主,所以,教科书中的那些很抽象,带着演示的变量命名影响了我们一代又一代的程序员,并影响了他们很多年。虽然那些短的,教材式的变量名,可能会让你少打一些字,但其实,这是非常非常不好的。因为软件的维护成本远远大于了软件的开发成本,如果...
2010-08-09 10:22 | 阅读 854 次 | 评论 0 条

数据结构论坛的作业贴解决合集

目录 引用请注明 hzh512 作业贴1:十进制数转二进制数,并判断出有1的位置 作业贴 2:线索二叉树的中序线索化及其遍历 作业贴3:稀疏矩阵的加减乘除转置运算 作业贴4:完全二叉树的判定算法 作业贴5:多项式的相 乘 作业贴6:Huffman 编码 作业贴7:二叉树的操作,创建、各种遍历 作业贴8:[问题描述]设有n个人围坐一圈,现从某个 人开始报数,数到m的人出列,接着从下一个人开始重新开始报数, 数到m的人又 出列,如次下去,直到 所有的人都出列为止。试设...
2010-05-11 11:56 | 阅读 804 次 | 评论 0 条
浏览25442次