2015年7月24日
摘要: 说到虚函数的实现方法,我们就不得不说到动态联编(dynamic binding)和静态联编(static binding)。静态联编意味着编译器能够直接将标识符和存储的物理地址联系在一起。每一个函数都有一个唯一的物理地址,当编译器遇到一个函数调用时,它将用一个机械语言说明来替代函数调用,用来告诉C... 阅读全文
posted @ 2015-07-24 16:54 认真的雪0218 阅读(321) 评论(0) 推荐(0)
摘要: 栈,就是那些由编译器在需要的时候分配,在不需要的时候自动清除的变量的存储区。里面的变量通常是局部变量、函数参数等。在一个进程中,位于用户虚拟地址空间顶部的是用户栈,编译器用它来实现函数的调用。和堆一样,用户栈在程序执行期间可以动态地扩展和收缩。 堆,就是那些由new分配的内存块,他们的释放编... 阅读全文
posted @ 2015-07-24 16:15 认真的雪0218 阅读(387) 评论(0) 推荐(0)
摘要: 一、基本概念malloc/free:1、函数原型及说明: void *malloc(long NumBytes):该函数分配了NumBytes个字节,并返回了指向这块内存的指针。如果分配失败,则返回一个空指针(NULL)。 void free(void *FirstByte): 该函数是将之前用ma... 阅读全文
posted @ 2015-07-24 11:27 认真的雪0218 阅读(198) 评论(0) 推荐(0)
摘要: C++中的引用与指针的区别指向不同类型的指针的区别在于指针类型可以知道编译器解释某个特定地址(指针指向的地址)中的内存内容及大小,而void*指针则只表示一个内存地址,编译器不能通过该指针所指向对象的类型和大小,因此想要通过void*指针操作对象必须进行类型转化。 ★ 相同点: 1. 都是地址的概... 阅读全文
posted @ 2015-07-24 11:13 认真的雪0218 阅读(145) 评论(0) 推荐(0)