我的总结:引用的好处之一就是在函数调用时在内存中不会生成副本。引用总结(1)在引用的使用中,单纯给某个变量取个别名是毫无意义的,引用的目的主要用于在函数参数传递中,解决大块数据或对象的传递效率和空间不如意的问题。(2)用引用传递函数的参数,能保证参数传递中不产生副本,提高传递的效率,且通过const...
分类:
其他好文 时间:
2014-08-09 15:33:28
阅读次数:
426
拷贝构造函数能够使类具有自行赋值本类对象的能力,即可生成一个对象的副本,它只以本类对象的引用作为其唯一的形参,该函数的定义形式如下:class 类名{ public: 类名(形参);//(构造函数) 类名(类名 &对象名);//(拷贝构造函数) ..................
分类:
编程语言 时间:
2014-08-08 17:47:56
阅读次数:
258
以下实现没有考虑线程安全的问题。智能指针:它的一种通用实现方法是采用引用计数的方法。智能指针将一个计数器与类指向的对象相关联,引用计数跟踪共有多少个类对象共享同一指针。 每次创建类的新对象时,初始化指针并将引用计数置为1;当对象作为另一对象的副本而创建时,拷贝构造函数拷贝指针并增加与之相应的引用计....
分类:
其他好文 时间:
2014-08-08 17:31:36
阅读次数:
262
集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集合类型(concurrent,copyonright,queue)中的ConcurrentHashMap,让我们从原理上细致的了解它们,能够让我们在深度项目开发中获益非浅...
分类:
其他好文 时间:
2014-08-08 16:16:26
阅读次数:
244
1、引用概念
引用引入了对象的一个同义词。定义引用的表示方法与定义指针相似,只是用&带起了*。
例如:Point pt1(10,10);
Point &pt2 = pt1;//定义pt2为pt1的引用。通过这样的定义,pt1和pt2表示同意对象,需要特别强调的是引用并不是产生对象的副本,仅仅是对象的同义词。因此,当下面的语句执行后:
pt1.ofset(2,2);
pt1和pt2都具有了...
分类:
编程语言 时间:
2014-08-08 16:10:46
阅读次数:
211
如果指针作为形参,要注意是否希望这个指针作为返回值返回。例如,在链表的插入函数中void Insert(Node *head,Node *x);当head == NULL时,我们希望令head = x,此时实际上只改变了head的副本,head并没有改变,因此正确的函数原型应该是void Inser...
分类:
其他好文 时间:
2014-08-08 11:59:15
阅读次数:
200
1. 值参数 将参数以值的形式传递是默认的传递方式一个参数以值的形式传递意味着创建这个变量的本地副本,过程和函数对副本进行运算,看下面的例子:当用这种方法调用一个过程时,一个字符串的副本就被创建,Foo()将对副本s进行运算,这表示对这个副本的任何修改都不会影响到原来的变量。2. 引用参数 Pas....
分类:
其他好文 时间:
2014-08-08 01:50:15
阅读次数:
199
主要有三点:(1) pid文件的内容:pid文件为文本文件,内容只有一行, 记录了该进程的ID。用cat命令可以看到。(2)pid文件的作用:防止进程启动多个副本。只有获得pid文件(固定路径固定文件名)写入权限(F_WRLCK)的进程才能正常启动并把自身的PID写入该文件中。其它同一个程序的多余进...
分类:
系统相关 时间:
2014-08-06 11:43:41
阅读次数:
252
当将类的某个数据成员声明为static时,该静态数据成员只能被定义一次,而且要被同类的所有对象共享。各个对象都拥有类中每一个普通数据成员的副本,但静态数据成员只有一个实例存在,与定义了多少类对象无关。静态方法就是与该类相关的,是类的一种行为,而不是与该类的实例对象相关。
静态数据成员的用途之一是统计有多少个对象实际存在。
静态数据成员不能在类中初始化,实际上类定义只是在描述对象的蓝...
分类:
编程语言 时间:
2014-08-06 02:04:01
阅读次数:
293
概述
在java2后,提供了threadlocal。这样一个新的工具类在处理多线程时提供了另外一种与之前不同的解决方案,而且对于开发者来说更加的简洁。它为每个访问这个变量的线程提供一个线程副本,并将这个副本存入到map中。这样就相当于每个线程都拥有自己独立的变量,在多线程并发操作时就不会造成操作数据的不一致。而在单例模式中,使用到的synchronized。它的机制是控制变...
分类:
编程语言 时间:
2014-08-05 22:37:30
阅读次数:
395