天天看点

无意中发现一位大佬的 C++ 刷题 pdf 笔记

前几天有个朋友投稿了一份资源,感觉发现了宝藏!忍不住安利一波。

这份资源包含68道C语言和C++相关的面试题,并且都有答案。

有需要的小伙伴们可以自取,面试前必看必背。

  • 1 变量的声明和定义有什么区别
  • 2 简述​

    ​#ifdef、#else、#endif​

    ​​和​

    ​#ifndef​

    ​的作用
  • 3 写出​

    ​int 、bool、 float​

    ​​、指针变量与 “零值”比较的​

    ​if​

    ​语句
  • 4 结构体可以直接赋值吗
  • 5​

    ​sizeof​

    ​​和​

    ​strlen​

    ​的区别
  • 6 C 语言的关键字​

    ​static​

    ​​和 C++ 的关键字​

    ​static​

    ​有什么区别
  • 7 C 语言的​

    ​malloc​

    ​​和 C++ 中的​

    ​new​

    ​有什么区别
  • 8 写一个 “标准”宏MIN
  • 9​

    ​++i​

    ​​和​

    ​i++​

    ​的区别
  • 10​

    ​volatile​

    ​有什么作用
  • 11 一个参数可以既是​

    ​const​

    ​​又是​

    ​volatile​

    ​吗
  • 12​

    ​a​

    ​​和​

    ​&a​

    ​有什么区别
  • 13 用 C 编写一个死循环程序
  • 14 结构体内存对齐问题
  • 15 全局变量和局部变量有什么区别?实怎么实现的?操作系统和编译器是怎么知道的?
  • 16 简述 C、C++ 程序编译的内存分配情况
  • 17 简述​

    ​strcpy、sprintf​

    ​​与​

    ​memcpy​

    ​的区别
  • 18 请解析​

    ​(*(void (*)( ) )0)( )​

    ​的含义
  • 19 C语言的指针和引用和c++的有什么区别?
  • 20​

    ​typedef​

    ​​和​

    ​define​

    ​有什么区别
  • 21 指针常量与常量指针区别
  • 22 简述队列和栈的异同
  • 23 设置地址为​

    ​0x67a9​

    ​​的整型变量的值为​

    ​0xaa66​

  • 24 编码实现字符串转化为数字
  • 25 C 语言的结构体和 C++ 的有什么区别
  • 26 简述指针常量与常量指针的区别
  • 27 如何避免“野指针”
  • 28 句柄和指针的区别和联系是什么?
  • 29​

    ​new/delete​

    ​​与​

    ​malloc/free​

    ​的区别是什么
  • 30 说一说​

    ​extern“C”​

  • 31 请你来说一下 C++ 中​

    ​struct​

    ​​和​

    ​class​

    ​的区别
  • 32 C++ 类内可以定义引用数据成员吗?
  • 33 C++ 中类成员的访问权限
  • 34 什么是右值引用,跟左值又有什么区别?
  • 35 面向对象的三大特征
  • 36 说一说 c++ 中四种​

    ​cast​

    ​转换
  • 37 C++ 的空类有哪些成员函数
  • 38 对 c++ 中的​

    ​smart pointer​

    ​​四个智能指针:​

    ​shared_ptr,unique_ptr,weak_ptr,auto_ptr​

    ​的理解
  • 39 说说强制类型转换运算符
  • 40 谈谈你对拷贝构造函数和赋值运算符的认识
  • 41 在 C++ 中,使用​

    ​malloc​

    ​​申请的内存能否通过​

    ​delete​

    ​​释放?使用​

    ​new​

    ​​申请的内存能否用​

    ​free​

    ​?
  • 42 用 C++ 设计一个不能被继承的类
  • 43 C++ 自己实现一个​

    ​String​

    ​类
  • 44 访问基类的私有虚函数
  • 45 对虚函数和多态的理解
  • 46 简述类成员函数的重写、重载和隐藏的区别
  • 47 链表和数组有什么区别
  • 48 用两个栈实现一个队列的功能
  • 49​

    ​vector​

    ​的底层原理
  • 50​

    ​vector​

    ​​中的​

    ​reserve​

    ​​和​

    ​resize​

    ​的区别
  • 51 vector​

    ​中的​

    ​​size​

    ​和​

    ​capacity的区别
  • 52 vector​

    ​中​

    ​​erase​

    ​方法与​

    ​​algorithn​

    ​中的​

    ​remove`方法区别
  • 53​

    ​vector​

    ​迭代器失效的情况
  • 54 正确释放​

    ​vector​

    ​​的内存​

    ​(clear(), swap(), shrink_to_fit())​

  • 55​

    ​list​

    ​的底层原理
  • 56 什么情况下用​

    ​vector​

    ​​,什么情况下用​

    ​list​

    ​,什么情况下用 deque
  • 57​

    ​priority_queue​

    ​的底层原理
  • 58​

    ​map 、set、multiset、multimap​

    ​的底层原理
  • 59 为何​

    ​map​

    ​​和​

    ​set​

    ​的插入删除效率比其他序列容器高
  • 60 为何​

    ​map​

    ​​和​

    ​set​

    ​​每次​

    ​Insert​

    ​​之后,以前保存的​

    ​iterator​

    ​不会失效?
  • 61 当数据元素增多时(从 10000 到 20000),​

    ​map​

    ​​的​

    ​set​

    ​的查找速度会怎样变化?
  • 62​

    ​map 、set、multiset、multimap​

    ​的特点
  • 63 为何​

    ​map​

    ​​和​

    ​set​

    ​​的插入删除效率比其他序列容器高,而且每次​

    ​insert​

    ​​ 之后,以前保存的​

    ​iter​

  • 64 为何​

    ​map​

    ​​和​

    ​set​

    ​​不能像​

    ​vector​

    ​​一样有个​

    ​reserve​

    ​函数来预分配数据?
  • 65​

    ​set​

    ​的底层实现实现为什么不用哈希表而使用红黑树?
  • 66​

    ​hash_map​

    ​​与​

    ​map​

    ​​的区别?什么时候用​

    ​hash_map​

    ​​,什么时候用​

    ​map​

    ​?
  • 67 迭代器失效的问题
  • 68​

    ​STL​

    ​线程不安全的情况

这68道题的详细答案已经整理成PDF文档了,随便截几张图看看吧:

无意中发现一位大佬的 C++ 刷题 pdf 笔记
无意中发现一位大佬的 C++ 刷题 pdf 笔记

需要完整PDF文档的小伙伴可以点击下方链接下载(已获作者授权):

链接:

​​https://pan.baidu.com/s/1ZBUqHrDm_neSkPyB0VjVSA​​​

密码: vqqm

每天进步一点点

慢一点才能更快

加油!

继续阅读