摘要: 基础知识掌握: 单例考虑三点:内存何时释放、运行速度如何、多线程下能否保证只有一个实例 如果获取对象的返回值类型是引用,返回值赋值给变量而不是引用会进行对象的拷贝,这样就会出现两个对象,可以把显示声明拷贝构造函数(包括 = 操作符)为private,这样就不会进行对象的拷贝 如果获取对象的返回值是指 阅读全文
posted @ 2017-11-16 20:05 流水灯 阅读(685) 评论(0) 推荐(0) 编辑
摘要: C++中,static变量不属于某个对象,所以要使用static变量,除了要在类的头文件对static变量进行声明,要还在源文件中进行定义,如果没有定义意味着没有分配内存空间,在源文件中可以不初始化 阅读全文
posted @ 2017-11-16 19:23 流水灯 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 一. 什么是拷贝构造函数 首先对于普通类型的对象来说,它们之间的复制是很简单的,例如: 而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。 下面看一个类对象拷贝的简单例子。 运行程序,屏幕输出100。从以上代码的运行结果可以看出,系统为对象 B 分配了内存并完成了与对象 A 的复 阅读全文
posted @ 2017-11-16 18:42 流水灯 阅读(335) 评论(0) 推荐(0) 编辑
摘要: 一、引用简介 引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。 引用的声明方法:类型标识符 &引用名=目标变量名; 【例1】:int a; int &ra=a; //定义引用ra,它是变量a的引用,即别名 说明: (1)&在此不是求地址运算,而是起标识作用。 (2)类型标识 阅读全文
posted @ 2017-11-16 15:18 流水灯 阅读(266) 评论(0) 推荐(0) 编辑
摘要: atomic原子操作:是在新标准C++11,引入了原子操作的概念,并通过这个新的头文件提供了多种原子操作数据类型,例如,atomic_bool,atomic_int等等 测试程序 测试结果 总结 由上面的测试结果可以看得出来 1.在不使用互斥锁和原子量的时候,多线程的操作会使结果是错误的. 2.原子 阅读全文
posted @ 2017-11-16 10:51 流水灯 阅读(4245) 评论(0) 推荐(0) 编辑