【C++】 面试题

简介: C/C++ 岗位面试题目
  1. 解释面向对象的三大特性
    封装,继承,多态

  2. 解释类的访问权限 public/protected/private

  3. 解释类的构造函数/析构函数/赋值函数/拷贝函数

  4. 移动构造与拷贝构造的区别

  5. 深拷贝与浅拷贝的区别

  6. 空类有哪些函数?空类的大小

  7. 解释内存分区:全局区、堆区、栈区、常量区、代码区

  8. C++与C的区别

  9. struct 与 class 的区别

  10. struct 内存对齐和补齐

  11. new/delete 与 malloc/free 的区别

  12. 内存泄漏的情况

  13. sizeof 与 strlen 对比

  14. 指针与引用的区别

  15. 野指针产生与避免

  16. 动态多态与静态多态

  17. 虚函数实现动态多态的原理、虚函数与村虚函数的区别

  18. 继承时,父类析构函数是否为虚函数?构造函数能不能为虚函数,为什么?

  19. 静态多态:重写,重载,模板

  20. static 关键字:修饰局部变量、全局变量、类中成员变量、类中成员函数

  21. extern 关键字:修饰全局变量

  22. const 关键字:修饰变量、指针、类对象、类成员函数

  23. volatile 关键字:避免编译器指令优化

  24. 四种类型转换 static_cast, dynamic_cast, const_cast, reinterpret_cast

  25. 右值引用

  26. std::move 函数与 std::forward 的区别

  27. 四种智能指针及底层实现 auto_ptr, unique_ptr, shared_ptr, weak_ptr

  28. shared_ptr 中循环引用怎么解决
    weak_ptr

  29. vector 与 list 区别

  30. map 与 unordered_map 区别

  31. set 与 unordered_set 区别

  32. vector 迭代器失效的情况

  33. STL 容器空间配置器

目录
相关文章
|
6月前
|
存储 算法 编译器
C++面试题其一
C++文件编译与执行的四个阶段 预处理:处理#include、#define等预处理指令。 编译:将源码翻译为目标代码。 汇编:将目标代码转换为机器指令。 链接:将目标文件和库文件合并生成可执行文件。 STL中的vector的实现,是怎么扩容的? vector通过动态数组实现,当容量不足时,分配更大的内存(通常是原来的两倍),复制旧数据到新内存,并释放旧内存。
86 2
|
6月前
|
存储 程序员 编译器
C++面试题其二
extern "C" 用于告诉编译器按照C语言的链接方式处理代码,通常用于C++代码与C代码混合编程,以防止因名字修饰(name mangling)引起的链接错误。例如: extern "C" { void c_function(); } 通过这些问题的深入理解和解答,能够更好地掌握C++编程的核心概念和实际应用,为面试做好充分的准备。
81 1
|
6月前
|
存储 网络协议 编译器
【干货总结】Linux C/C++面试知识点
Linux C/C++基础与进阶知识点,不仅用于面试,平时开发也用得上!
619 16
|
7月前
|
存储 算法 C语言
从C语言到C++_39(C++笔试面试题)next_permutation刷力扣
从C语言到C++_39(C++笔试面试题)next_permutation刷力扣
67 5
|
7月前
|
存储 编译器 C语言
从C语言到C++_23(多态)抽象类+虚函数表VTBL+多态的面试题(下)
从C语言到C++_23(多态)抽象类+虚函数表VTBL+多态的面试题
67 1
|
7月前
|
存储 编译器 Linux
从C语言到C++_23(多态)抽象类+虚函数表VTBL+多态的面试题(中)
从C语言到C++_23(多态)抽象类+虚函数表VTBL+多态的面试题
70 1
|
6月前
|
安全 算法 C++
C++面试题其三
继续上篇博客的解答,我们将进一步探讨C++中的一些关键概念和常见面试问题。
59 0
|
7月前
|
编译器 C语言 C++
从C语言到C++_23(多态)抽象类+虚函数表VTBL+多态的面试题(上)
从C语言到C++_23(多态)抽象类+虚函数表VTBL+多态的面试题
51 0
|
7月前
|
编译器 程序员 C语言
从C语言到C++⑨(第三章_C&C++内存管理)详解new和delete+面试题笔试题(下)
从C语言到C++⑨(第三章_C&C++内存管理)详解new和delete+面试题笔试题
50 0
|
7月前
|
编译器 C语言 C++
从C语言到C++⑨(第三章_C&C++内存管理)详解new和delete+面试题笔试题(中)
从C语言到C++⑨(第三章_C&C++内存管理)详解new和delete+面试题笔试题
54 0