06 2012 档案

有关多重继承、抽象数据类型和java的一些情况(转载)
摘要:许多C++程序员都知道Java在很大程度上是基于C++的,然后Java的创立者选择省略掉多重继承。他们认为多重继承引入了复杂性,这不利于Java的易用性。他们认为使用所谓的接口可以实现多重继承的90%的功能。 一个接口更像一个抽象数据类型,它定义了一组只能在派生类中实现的函数。然后使用接口,你并不是直接从接口派生,而是从另一个类派生后实现这个接口,就像多重继承一样。... 阅读全文

posted @ 2012-06-18 12:13 Jerry Zong 阅读(333) 评论(0) 推荐(0)

(转载)何时使用引用以及何时引用指针
摘要:c++程序员相对于指针来说更喜欢使用引用。因为引用不仅使程序清晰,而且易于使用,并且能够很好的隐藏信息。 但是引用不能被重新赋新值。如果你需要使用一个变量指向不同的对象,那么就必须使用指针。引用不能为空,因此如果问题中存在对象为空的情况,就绝对不恩能够使用引用。在这种情况下就必须使用指针。 如果不能再自由存储区(堆内存)分配一块内存,它就会返回一个空... 阅读全文

posted @ 2012-06-11 15:19 Jerry Zong 阅读(387) 评论(0) 推荐(0)

(转载)堆内存和栈内存的区别
摘要:1 、栈区( stack )— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。栈内存分配运算内置于处理器的指令集中,效率很高,但是分配的内存容量有限.2 、堆区( heap )— 亦称动态内存分配.程序在运行的时候用malloc或new申请任意大小的内存,程序员自己负责在适当的时候用free或delete释放内存。动态内存的生存期可以由我们决定,如果我们不释放内存,程序将在最后才释放掉动态内存.但是,良好的编程习惯是:如果某动态内存不再使用,需要将其释放掉,否则,我们认为发生了内存泄漏现象。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表.3 阅读全文

posted @ 2012-06-04 15:24 Jerry Zong 阅读(210) 评论(0) 推荐(0)

导航