;写时拷贝(copy on write) 即某个对象的堆指针成员平时和其他对像的堆指针成员平时它们几个共享同一份实值 ,知道这个独享的值必须发生改写的时候才停止共享,而将该值重新申请一份空间存放自己私有的东西 ...
分类:
其他好文 时间:
2016-06-05 22:46:11
阅读次数:
257
list(双向链表) 1) * :包含头文件list **:不支持随机存取;增删元素时间是常数,只需要修改指针 2)成员函数 * :vector的成员函数list基本都有 **:以下是部分独有成员函数 sort()算法需要随机访问,故list不支持,所以引入一个成员函数sort() 3)list示例 ...
分类:
其他好文 时间:
2016-05-05 14:18:05
阅读次数:
131
拷贝构造 零初始化:类型名(),对于基本类型而言是数值0,对于类或者结构类型而言是匿名对象。 当用一个同类对象初始化一个同类新对象时,调用的自然是拷贝构造函数。一个类如果没有定义拷贝构造函数,编译器会自动产生一个构造函数,内容是逐个复制对于的成员。这一般可以满足程序的需求。如果其中有指针成员指向动态 ...
分类:
编程语言 时间:
2016-05-03 23:42:46
阅读次数:
203
智能指针 与 oc中的指针 智能指针的原理及实现 当类中有指针成员时,一般有两种方式来管理指针成员:一是采用值型的方式管理,每个类对象都保留一份指针指向的对象的拷贝;另一种更优雅的方式是使用智能指针,从而实现指针指向的对象的共享。 智能指针(smart pointer)的一种通用实现技术是使用引用计
分类:
其他好文 时间:
2016-03-15 23:10:40
阅读次数:
220
this:this是指向对象本身的一个指针,成员函数内部指向当前类的对象 其实this主要要三种用法: 1、表示对当前对象的引用! 2、表示用类的成员变量,而非函数参数,注意在函数参数和成员变量同名是进行区分!其实这是第一种用法的特例,比较常用,所以那出来强调一下。 3、用于在构造方法中引用满足指定
分类:
编程语言 时间:
2016-02-18 08:47:57
阅读次数:
246
每个类的成员函数都默认传入this指针,成员函数后面加了const后该成员函数将不能修改该类的成员了 class cat { public: cat(){}; string getName() const { this->m_strName = “”;//错误,const this不允许修改成员 r
分类:
编程语言 时间:
2016-01-29 03:13:38
阅读次数:
196
成员变量指针 静态成员变量、静态成员函数与对象无关,静态成员指针与普通指针一致 本质就是特定成员变量在对象实例中的相对地址,解引用时再根据调用对象的地址计算该成员变量的绝对地址 定义 类型 类名 ::* 成员变量指针 = &类名 ::成员变量 使用 对象.*成员变量指针\对象指针->*成员变量指针
分类:
其他好文 时间:
2016-01-27 21:16:26
阅读次数:
124
上次介绍了一般结构体的定义以及引用方法,那么接下来将对结构体在官方固件库是如何具体使用的做出简单说明。 结构体指针成员变量引用方法是通过“→”符号来实现,比如要访问student1结构体指针指向的结构体的成员变量name,那么方法是:stuednt1—>name; 如在STM32官方固...
分类:
其他好文 时间:
2015-12-22 23:09:14
阅读次数:
460
大多数C++类用三种方法之一管理指针成员 (1)不管指针成员。复制时只复制指针,不复制指针指向的对象。当其中一个指针把其指向的对象的空间释放后,其它指针都成了悬浮指针。这是一种极端 (2)当复制的时候,即复制指针,也复制指针指向的对象。这样可能造成空间的浪费。因为指针指向的对象的复制不...
分类:
编程语言 时间:
2015-11-20 17:34:11
阅读次数:
193
1 问题背景 当交换两个包含了指针成员的类,我们最想看到的是直接交换其指针。但是当我们调用std::swap标准库这个模板函数时,通常它都会复制3个指针指向的对象作为交换所用,缺乏效率。如下:1 namespace std{2 template3 void swap(T& a, T...
分类:
编程语言 时间:
2015-11-05 18:39:23
阅读次数:
308