吐血整理了c++84个知识点(全是干货)

目录中提到的博客本人已经全部整理过了,大家可以自行翻阅本人博客进行查找。

我先将目录贴出来:

我将整理的pdf文件放在百度云盘上,需要的自行下载:

链接:https://pan.baidu.com/s/12kxtUVhXS2PJHmRIFfFdxA
提取码:kthh

1.把 int 和 long 两个类型的字节大小说错, 在 32 位、 64 位系统下的 32 位和 64 位编译器下, 数据类型和指针所占内存字节数是多少?.... 1

2.搞不清楚字符编码, 尤其是项目中最常用的 ASCII、 UTF-16、 UTF-8 编码的区别。.... 1

3.位运算忘了, 记糊涂了, 分不清算数位移和逻辑位移, 也不知道 C 编译器采用的是哪一 种。    1

4、for和 while循环有什么区别呢? (汇编实现上) 不知道, 难道只是写法不一样? 有没有看过他们的汇编有什么区别? Linux 上看源代码汇编的命令是什么?... 2

5、switch 怎么实现的? 什么时候用 switch 比 if else 高效? (汇编实现上).... 2

6.C的默认类型转换有哪些?.... 3

7、请写出下面程序的打印结果. 3

8、请写出下面程序的打印结果. 3

9、BF算法、KMP算法(博客:BF算法和KMP算法).... 3

10、填空.... 3

11、typedef和#define有什么区别?.... 4

12.请写代码检查当前系统的大小端?.... 4

13.struct和class的区别?.... 5

14、struct和union的区别?... 5

15、struct结构体的内存对齐问题?.... 5

16、C的空结构体的大小?能不能用来定义变量?变量有没有地址?多个空结构体定义的变量内存地址是相同的还是线性的?.... 6

17.文本文件(ASCII码文件)和二进制文件的区别。.... 6

18.文件的操作函数(C语言)。... 6

19.海量数据的查重问题. 6

20.海量数据的Top k问题. 8

21 求一组数据的第K大的数据.... 9

22.查重和top k问题的综合应用.... 10

23.malloc和new有什么区别?free和delete有什么区别?可不可以混用?.... 11

24.new和new[]的区别?.... 12

25.有哪些内存泄漏,内存非法访问的操作?怎么定位?怎么解决?... 12

26.内核空间分配.... 13

27.伙伴系统(linux)内存分配原理.... 13

29.程序的编译链接过程(见博客).... 14

30.链接分为几步?.... 14

31.什么时候给符号分配地址?.... 14

32.三类目标文件.... 14

33.esp和ebp是怎样描述函数调用的栈的?... 14

34.esp和ebp是怎样推进的?... 15

35. X86体系的指令集 push, pop, mov, lea, ret, call等指令都做了什么事情, 是什么意思?    15

36.形参变量是什么时候开辟内存以及什么时候回收内存的?... 15

37. 什么是 CPU的 PC寄存器?干什么用的?.... 15

38. 函数返回值 的时候一定会产生临时变量吗? 那什么时候产生, 什么时候不产生?.... 15

39. 把程序从磁盘上往内存加载的时候, 都加载磁盘可执行程序的哪些东西, 全部加载吗?  15

40.给你一段程序,你能判断每一段都存放在哪一块内存吗?... 16

41.单链表相关的问题(博客:单链表详解以及单链表相关面试题总结).... 16

42.跳跃表的代码实现(博客:跳跃表)... 16

43.顺序栈和链式栈(博客:顺序栈和链式栈)... 16

44.二叉树的前序、中序和后序遍历(非递归)... 16

44.循环队列、链式队列和优先级队列(见同名博客)... 17

45.二叉树的层次遍历非递归代码。(见博客:所有人看了都说好的二叉树的层次遍历)... 17

46.大根堆、小根堆(见博客:(大根堆、小根堆(数组模拟操作))).... 17

47.哈夫曼编码的代码(见博客:HuffMan(哈/赫夫曼树)和编码实现(C++STL库)).... 17

48.求解10G整数的的大文件,找出重复次数最多的前10数字的TopK问题代码。(见博客:查重和topK问题的结合|10G文件按,内存不够|多文件操作|c++STL)... 17

49.Boyer-Moore算法(见博客:BoyerMoore算法详解(理解不了你打死我)|代码实现(c++))    17

50.求解一个字符串中最长的不重复子串代码.... 17

51.求解两个字符串的最长公共子串的代码.... 18

52.八大排序(见博客:八大排序详解||冒泡排序||选择排序||插入排序||shell(希尔排序)||快速排序(多种优化)||堆排序||归并排序||基数排序(桶排序)||效率总结).... 19

53.const的转换问题... 19

54.请选出下面哪些代码是错误的(A)。.... 19

55.请选出下面哪些代码是错误的(BCD)。.... 19

56请判断下面哪些代码有错误?(ADE) 19

57.什么是叫做面向对象?... 20

58.什么是对象的浅拷贝和深拷贝?对象的拷贝构造函数能用值传递吗?为什么?(见博客: c++拷贝构造(复制构造函数)详解||浅拷贝和深拷贝||拷贝构造函数的参数能用值传递吗? ).... 20

59.成员对象在哪里初始化?.... 20

60.请说一下explicit、mutable和volatile关键字的作用。(见博客:explicit、multable和volatile关键字的作用||C++).... 20

61.static方法和普通成员方法有什么区别?.... 20

62.const成员方法和普通成员方法有什么区别?... 20

63.static和const能不能同时修饰一个成员方法?.... 20

64.请写出下面代码的打印。... 21

65.写出下面程序的打印结构.... 22

66.C++的静多态和动多态.... 22

67.简单映射表的代码(依赖hash表的链地址法)(见博客:自己实现一个映射表(依赖于hash表的链地址法)||c++) 23

68.实现带有空间配置器的vector(见博客:带有空间配置器的vector容器的实现||迭代器失效||vector总结||C++) 23

69. 泛型算法 sort, find, find_if,绑定器和取反器, 函数对象 greater和 less(见同名博客)    23

70.请解释一下C++多态?... 23

71.C++的析构函数能不能虚函数?什么时候会用到?.... 23

72.虚函数得调用过程?虚函数表是什么?虚函数表运行时放在哪块内存?... 23

73.虚基类和抽象类有什么区别?... 23

74.什么是静态绑定和动态绑定?... 24

75.哪些函数不能被声明为虚函数?.... 24

75.多重继承会有什么问题?.... 24

76.vbptr和vfptr有什么区别?.... 24

77.请描述一下重载、隐藏和覆盖之间有什么不同?.... 24

78.虚函数或者虚继承对对象内存大小有影响吗?.... 24

79.C++有哪四种类型强转?分别有哪些作用?(见博客:教你学会C++的四种类型强转)    25

80.析构函数和构造函数可以抛出异常吗?.... 25

81.map中的find和operator[]这两个函数有什么区别?.... 25

82.map是什么实现的?hash_map和map的区别在哪里?.... 25

83.stl的内存分配和回收机制:【空间适配器】... 25

84.智能指针(博客:一文带你详细了解C++智能指针).... 25

 

 

 

你可能感兴趣的:(C++,c++知识点)