
面试
l857956754
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
虚函数表机制
前言 转自 http://blog.youkuaiyun.com/haoel/article/details/1948051/ C++中的虚函数的作用主要是实现了多态的机制。关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数。这种技术可以让父类的指针有“多种形态”,这是一种泛型技术。所谓泛型技术,说白了就是试图使用不变的代码来实现可变的算法。比如:模板技术,转载 2013-04-23 21:45:18 · 403 阅读 · 0 评论 -
Big Endian的一道题
long long a = 1; long long b = 2; long long c = 3; printf("%d,%d,%d", a, b, c); 测试了一下 输出的是 1,0,2 1、long long 8个字节,int 是 4个字节 2、big endian (大端,比较符合我们的习惯)是高字节放到低地址, 比如0x12 34 56 78,依次放在地址0原创 2013-04-13 19:43:46 · 475 阅读 · 0 评论 -
单链表是否有环
判断单链表里面有没有环 这题目还是蛮有意思的。 题目:0.如何判断单链表里面是否有环? 算法的思想是设定两个指针p, q,其中p每次向前移动一步,q每次向前移动两步。那么如果单链表存在环,则p和q相遇;否则q将首先遇到null。 这里主要理解一个问题,就是为什么当单链表存在环时,p和q一定会相遇呢? 假定单链表的长度为n,并且该单链表是环状的,那么第i次迭代时,p指向转载 2013-04-20 11:19:13 · 522 阅读 · 0 评论 -
inline define区别
介绍内联函数之前,有必要介绍一下预处理宏。内联函数的功能和预处理宏的 功能相似。相信大家都用过预处理宏,我们会经常定义一些宏,如 #define TABLE_COMP(x) ((x)>0?(x):0) 就定义了一个宏。 为什么要使用宏呢?因为函数的调用必须要将程序执行的顺序转移到函数 所存放在内存中的某个地址,将函数的程序内容执行完后,再返回到转去执行 该函数前的地方。这种转移转载 2013-04-26 12:10:52 · 408 阅读 · 0 评论 -
外排序
一. 外排序的基本方法是归并排序法。它分为以下两个步骤: (1) 生成若干初始归并段(顺串),也称为文件预处理: ① 把含有n个记录的文件,按内存大小分成若干长度为L的子文件(段); ② 分别将各子文件(段)调入内存,采用有效的内排序方法排序后送回外存 (2) 多路归并: 对这些初始归并段进行多遍归并,使得有序的归并段逐渐扩大,最后在外存上形成整个文件的单一转载 2013-04-26 20:04:32 · 534 阅读 · 0 评论 -
C++类型转换
C风格的强制类型转换(Type Cast)很简单,不管什么类型的转换统统是: TYPE b = (TYPE)a。 C++风格的类型转换提供了4种类型转换操作符来应对不同场合的应用。 const_cast,字面上理解就是去const属性。 static_cast,命名上理解是静态类型转换。如int转换成char。 dynamic_cast,命名上理解是动态类型转换。如子类和父类之间的多转载 2013-04-26 20:35:31 · 386 阅读 · 0 评论