定义函数的常见方法:函数声明的一个特征:函数声明提升;函数声明如:function fName(){}函数表达式也是常见的创建函数的方法:var fName = function ( ) { }函数表达式的另一种声明的方法:(function f(){}); //()是一组分组操作符,它的内部只能包...
分类:
其他好文 时间:
2014-10-11 21:00:56
阅读次数:
150
C++ 虚函数表解析陈皓http://blog.csdn.net/haoel前言C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这样的技术能够让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说...
分类:
编程语言 时间:
2014-10-10 16:13:54
阅读次数:
275
最近一直没有更新设计模式,一方面是因为国庆几天搬了几天家,没时间看书,另外一方面就是我对于实例之间的关系不怎么明白。昨天忽然对虚函数表有了兴趣,就研读了一下,然后再来看这个装饰模式,就理解这个模式是怎么运行起来的了。运用场景:1.在不必改变原类文件和使用继承的情况下,动态地扩展一个对象的功能。它是通...
分类:
其他好文 时间:
2014-10-09 16:04:58
阅读次数:
202
http://www.uml.org.cn/c++/201305163.asp个人总结:多重继承时,对象中保存多个虚函数表指针,虚拟继承时,对象中保存多个虚函数表指针,但被虚拟继承的基类对象在被继承的对象中只有一份,这个是靠共享其内容实现的。且共享的内容在子类对象的最后。虚拟继承为了避免上述Top类...
分类:
其他好文 时间:
2014-10-08 23:52:57
阅读次数:
212
一、构造函数为什么不能为虚函数1. 从存储空间角度,虚函数相应一个指向vtable虚函数表的指针,这大家都知道,但是这个指向vtable的指针事实上是存储在对象的内存空间的。问题出来了,假设构造函数是虚的,就须要通过 vtable来调用,但是对象还没有实例化,也就是内存空间还没有,怎么找vtable...
分类:
其他好文 时间:
2014-10-08 23:38:37
阅读次数:
148
今天拜读了陈皓的C++ 虚函数表解析的文章,感觉对C++的继承和多态又有了点认识,这里写下自己的理解。如果哪里不对的,欢迎指正。如果对于C++虚函数表还没了解的话,请先拜读下陈皓的C++ 虚函数表解析的文章,不然我写的可能你看不懂。以前一直对于c++多态感觉很神奇,从书上看,多态就是在构造子类对象的...
分类:
编程语言 时间:
2014-10-08 17:53:45
阅读次数:
239
javascript中函数的声明有三种方式:最常见的函数声明:fun();//可以调用,因为这种声明方式会被浏览器优先加载。function fun(){ alert("声明式的函数声明");}函数表达式的声明:var fun2=function(){alert("表达式的函数声明");}fun2....
分类:
编程语言 时间:
2014-10-08 00:36:54
阅读次数:
316
1.函数的定义2.函数的递归调用3.闭包1.函数的定义有两种: 第一种:函数声明 function functionName(arg0,arg1,arg2){ //函数体 } 函数声明,一个重要特征是函数声明提升,即在执行代码之前会先读取函数声明。 第二种:使用函数表达式 var func...
分类:
编程语言 时间:
2014-10-07 21:08:34
阅读次数:
224
/*对于此类的模型为:class object{ float _x;//类的nonstatic成员函数 _vptr_Point;//指向虚函数表的指针}virtual table//虚函数表的信息(应该存放的是一些指针)slot1---type info for Point(用于支持RT...
分类:
其他好文 时间:
2014-10-06 11:23:10
阅读次数:
263
PE文件结构(三)
参考
书:《加密与解密》
视频:小甲鱼 解密系列 视频
输入表
输入函数,表示被程序调用但是它的代码不在程序代码中的,而在dll中的函数。对于这些函数,磁盘上的可执行文件只是保留相关的函数信息,如函数名,dll文件名等。在程序运行前,程序是没有保存这些函数在内存中的地址。当程序运行起来时,windows加载器会把相关的dll装入内存,并且将输入函数的指令与函数真在内存中正的地址联系起来。输入表(导入表)就是用来保存这些函数的信息的。
在 IMAGE_OPT...
分类:
其他好文 时间:
2014-10-03 12:24:34
阅读次数:
215