转自:http://blog.csdn.net/lightlater/article/details/5848200C++中引入inline关键字的原因:inline关键字用来定义一个类的内联函数,引入它的主要原因是用它替代C中表达式形式的宏定义。什么是内联函数?表达式形式的宏定义一例:#defin...
分类:
其他好文 时间:
2014-09-09 11:15:28
阅读次数:
219
1.递归实现一:function factorial(num){ if(num<=1){ return 1; }else{ return num*factorial(num-1); }}alert(factorial(4)); //24但给factori...
分类:
编程语言 时间:
2014-09-09 10:42:48
阅读次数:
220
c++面试题2:虚函数是如何实现的?
1、虚函数如何实现的?
虚函数是通过一张虚函数表实现的,有多少个虚函数,就有多少个指针;在这个表中,主要是一个类的虚函数的地址表,这张表解决了继承、覆盖的问题;实际上在编译的时候,编译器会自动加上虚表虚函数的作用实现动态联编,也就是说在程序运行阶段动态的选择合适的成员函数,在定义了虚函数之后,可以在基类的派生类中对虚函数重新定义。虚表的使用方法是如...
分类:
编程语言 时间:
2014-09-08 10:55:26
阅读次数:
228
记得在面试腾讯实习生的时候,面试官问了我这样一道问题。//下述两种声明方式有什么不同function foo(){}; var bar = function foo(){}; 当初只知道两种声明方式一个是函数声明一个是函数表达式,具体有什么不同没能说得很好。最近正好看到这方面的书籍,就想好好...
分类:
编程语言 时间:
2014-09-06 23:49:14
阅读次数:
271
以前看到虚函数觉得很神奇,为什么就能实现多态了呢。我自己曾设想,要实现运行时多态,应该让对象的某个部分始终指向一个固定的地址,子类继承的时候,就修改这个地址的内容。这样,父类和子类都是到同一个固定地址去读取内容,在运行时就能表现不同行为。
在看了《深度探索c++对象模型》之后,发现思路是类似的。在对...
分类:
编程语言 时间:
2014-09-04 22:11:21
阅读次数:
267
1、一般JDE部署后环境: DV:开发环境 PY:测试环境 PD:正式环境 根据端口号区分不同环境,可配置。同时,JDE默认使用分发服务器,不同环境连接为不同的数据库。2、命名规范: 自定义项目、函数、表、试图等,代码为55--59。如表F55XXX;V55XXX 表、视图、函数命名...
分类:
其他好文 时间:
2014-09-04 09:37:57
阅读次数:
203
先上概念,C++的多态性:系统在运行时根据对象类型,来确定调用哪个重载的成员函数的能力。多态性是通过虚函数实现的。成员函数之前加了virtual,即成为虚函数。有虚成员函数的类,编译器在其每个对象的开始处自动加一个指针,称为虚表指针,因为它指向一个表,称为虚函数表,表的元素是函数指针,指向该类的虚成...
分类:
编程语言 时间:
2014-09-04 00:04:57
阅读次数:
236
前两天通过父类指针调用子类虚函数时调用了一个父类未定义的方法,顺便找了下关于虚函数的资料。特此转存耗子哥的这篇博文。地址在这里以及关于C++对象内存布局的进阶篇上篇下篇
分类:
编程语言 时间:
2014-09-02 19:32:25
阅读次数:
174
关于Dll
Dll,Exe 都是PE格式的二进制文件。Dll相当于Linux操作系统下的so文件
1 基地址(Base Address)和相对地址(RelativeVirtual Address)
基地址(BaseAddress)和相对地址(Relative Virtual Address)是PE文件的概念,当PE文件被装载的时候,进程空间的起始地址就是基地址,这个值是PE...
分类:
其他好文 时间:
2014-09-01 00:29:22
阅读次数:
295
虚函数表在继承层次中比较复杂,总结重要的几点如下:
1、虚函数指针一般在对象的开头或者结尾
2、虚函数表其实就是一个函数指针类型的数组
3、编译器如何知道虚函数表指针?答案是虚函数表的最后一个元素是NULL
4、当从多个基类派生时,派生类继承所有基类的虚函数指针
5、虚函数表是类级别的,类的所有对象共享同一个虚函数表
6、不同的类的对象有不同的虚函数表
7、在继承中,子类增加一个虚函...
分类:
编程语言 时间:
2014-08-30 21:48:50
阅读次数:
230