很多教材上都有介绍到虚指针、虚函数与虚函数表,有的说类对象共享一个虚函数表,有的说,一个类对象拥有一个虚函数表;还有的说,无论用户声明了多少个类对象,但是,这个VTABLE虚函数表只有一个;也有的在说,每个具有虚函数的类的对象里面都有一个VPTR虚函数指针,这个指针指向VTABLE的首地址,每个类的对象都有这么一种指针。今天,我们就来解决这个问题,同一个类的不同对象,是不是拥有“相同”的虚函数表,这个相同是物理上的相同(内存地址)还是逻辑上的相同(数据结构)。本文现详述如下!...
分类:
编程语言 时间:
2015-07-26 17:24:57
阅读次数:
148
一般VC和BCB是将vPtr放在类实例的前四个字节,GCC是放在末尾。在某些情况下需要考虑表指针的位置,比如序列化的时候。其实只需将类实例的首地址与类的第一个成员变量地址相比较就可得知虚表指针的位置。class A{ A(void){} virtual void Foo(void...
分类:
其他好文 时间:
2015-07-26 17:08:16
阅读次数:
167
[Person new] 做了三件事: 1)申请内存空间 2)给实例初始化 3)返回空间首地址 实例变量保存在堆区``指针(对象名)保存在栈区 对象方法保存在代码区 调用方法先找到p所指向的堆区的指针—isa然后再找到isa所指向的代码区的方法 对象方法只能由对象来调用,类方法只能由...
分类:
其他好文 时间:
2015-07-24 20:36:26
阅读次数:
117
C++ Primer 学习笔记_13_标准模板库_list双向链表容器
list容器实现了双向链表的数据结构,数据元素是通过链表指针串连成逻辑意义上的线性表,这样,对链表的任一位置的元素进行插入、删除和查找都是超快速的。下图是双向循环链表的结构示意图。
list的每个节点有三个域:前驱元素指针域、数据域和后继元素指针域。前驱元素指针域保存了前驱元素的首地址;数据域则是本节...
分类:
编程语言 时间:
2015-07-23 00:47:33
阅读次数:
197
1. “数组名代表了数组的存储首地址,是一个地址常量”。对于char *p1 = "A String.";和char p2[] = "Another String.";这两种写法的不同:p1指向的这个字符串是个常量, 不可改变, 程序在编译期间就为"A String."这个字符串分配了固定的空间, ...
分类:
编程语言 时间:
2015-07-22 18:24:30
阅读次数:
123
1.标准初始化函数 std::fill(首地址,尾地址,value) || 用于在首尾地址之间填充value值,对应matlab的ones(1:n)函数1 template 2 void fill (ForwardIterator first, ForwardIterator last, c...
分类:
编程语言 时间:
2015-07-22 17:56:37
阅读次数:
129
1、将java字符串转化为c++字符串
/**
*工具方法
*将java字符串转化为c++字符串
*返回字符串数组的首地址
*/
char* Jstring2CPPStr(JNIEnv* env, jstring jstr, jstring encode) {
char* rtn = NULL;
jclass clsstring = env->FindClass("java/lang...
分类:
移动开发 时间:
2015-07-22 14:35:32
阅读次数:
146
http://blog.sina.com.cn/s/blog_4d8205e40100gjf9.html【函数指针】 在程序运行中,函数代码是程序的算法指令部分,它们和数组一样也占用存储空间,都有相应的地址。可以使用指针变量指向数组的首地址,也可以使用指针变量指向函数代码的首地址,指向函数代码首地址...
分类:
其他好文 时间:
2015-07-20 16:11:59
阅读次数:
121
1.qsort函数:原型:void qsort(void *base, int nelem, int width, int (*fcmp)(const void *,const void *));功能:使用快速排序例程进行排序参 数:1 待排序数组首地址2 数组中待排序元素数量3 各元素的占用空间大...
分类:
其他好文 时间:
2015-07-17 11:19:48
阅读次数:
103
每天开机关机,除了“等”之外,你得了解你的操作系统开机的时候真正做了什么?一. 书上都是这么讲的CPU自身初始化:硬件初始工作,以PC/IP寄存器跳转到BIOS首地址为结束标志。->加电自检(Power On Self Test):硬件检测,内存检测,系统总线检测,以开始从总线读取第一段程序为结束标...
分类:
系统相关 时间:
2015-07-17 07:05:03
阅读次数:
200