设为首页 加入收藏

TOP

C++及数据结构笔试面试常见知识点总结(三)
2016-09-21 13:03:24 】 浏览:1050
Tags:数据结构 笔试 面试 常见 知识点 总结
调用,当然就不能责怪它拒绝生成内联调用了)。

38. 宏定义和const的区别:

(1) 编译器处理方式不同,define宏是在预处理阶段展开,const常量在编译运行阶段展开。

(2) 类型和安全检查不同,define宏没有类型,不做任何检查,仅仅是展开,const常量具有具体的类型,在编译阶段会执行类型检查。

(3) 存储方式不同,define宏仅仅是展开,有多少地方使用就展开多少次,const常量会存储在内存中分配,仅仅生成一次。(const可以节省空间,避免不必要的内存分配,提高了效率)。

C++ 程序中只使用const常量而不使用宏常量,即const常量完全取代宏常量。

39. 函数reserve(size)将字符串的容量设置为至少size。如果size所指定的数值小于当前字符串中的字符数,容量将被设置为恰好容纳字符的数值。reserve()以线性时间运行。其最大用处是为了避免反复重新分配缓冲区内存而导致效率降低,或者在使用某些STL操作之前保证缓冲区足够大。

40. 关于final的重要知识点;

(1) final关键字可以用于成员变量、本地变量、方法以及类。

(2) final成员变量必须在声明的时候初始化或者在构造器中初始化,否则就会报编译错误。

(3) 你不能够对final变量再次赋值。

(4) 本地变量必须在声明时赋值。

(5) 在匿名类中所有变量都必须是final变量。

(6) final方法不能被重写。

(7) final类不能被继承。

(8) 没有在声明时初始化final变量的称为空白final变量(blank final variable),它们必须在构造器中初始化,或者调用this()初始化。不这么做的话,编译器会报错“final变量(变量名)需要进行初始化”。

41. 只要两个操作数中有一个是double类型的,另一个将会被转换成double类型,并且结果也是double类型,如果两个操作数中有一个是float类型的,另一个将会被转换为float类型,并且结果也是float类型,如果两个操作数中有一个是long类型的,另一个将会被转换成long类型,并且结果也是long类型,否则(操作数为:byte、short、int 、char),两个数都会被转换成int类型,并且结果也是int类型。

42. 非法指针是指向的内存已被回收,或者指向一个错误的地址。

43. 拥有虚函数的类存储时首地址存储为虚函数指针,其次是成员变量。

44. 一般的当将一个类对象指针转化为其他类型指针时,指针自身不变,只是将读取地址的方式进行了转变,指针指向还是之前那个位置。

45. 在重载一个运算符为成员函数时,其参数表中没有任何参数,这说明该运算符是前缀一元运算符,若参数列表中有一个int,则为后缀一元运算符。

46. 对字符串进行sizeof操作的时候,会把字符串的结束符"\0"计算进去的,进行strlen操作求字符串的长度的时候,不计算\0。

47. B树的定义是这样的,一棵m阶的B树满足下列条件:(1)每个结点至多有m棵子树;(2)除根结点外,其他每个非叶子结点至少有m/2棵子树;(3)若根结点不是叶子结点,则至少有两棵子树;(4)所有叶结点在同一层上。B树的叶结点可以看成一种外部结点,不包含任何信息;(5)所有的非叶子结点中包含的信息数据为:(n,p0,k1,p1,k2,P2,…,kj-1,Pj-1)其中,ki为关键字,且满足kiki+1;pi为指向子树根结点的指针,并且Pi-1所指的子树中的所有结点的关键字均小于ki,Pj-1所指的子树中的所有结点的关键字均大于kj-1。B+树是应文件系统所需而出现的一种B树的变型树,其主要区别是一棵非叶子结点有n个子树就有n个关键字,这些关键字的作用是索引;所有的叶子结点包含了全部关键字的信息,以及指向这些关键字记录的指针,且叶子结点本身的关键字的大小自小而大顺序链接。从上述的特点中我们知道,这两种树都是平衡的多分树,它们都可以用于文件的索引结构,但B树只能支持随机检索,而B+树是有序的树,既能支持随机检索,又能支持顺序检索。

48. 在同一个运算式中使用对同一个变量使用后置++,在当前表达式中调用的为变化前的对象,不管使用多少次。而前置++则每次都会改变变量。但是在当前运算式结束后,原变量均发生变化。例如x=1;y=(x++)+(x++);得到的y=2;x=3

49. 在c++STL中list使用了链式数据结构,而map 使用了红黑树的数据结构。

50. Byte是字节,bit是位。
51. 字节对齐规则指出对一个结构体而言,其起始地址和大小必须是对齐数的正数倍,而其中成员的所占空间满足各自的对其规则,在需要时进行必要的填充。

首页 上一页 1 2 3 下一页 尾页 3/3/3
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇【C++研发面试笔记】10. 基本数据.. 下一篇C++基础复习心得3

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目