Files
mianshiya/C++ 面试题.md
2025-12-25 21:05:14 +08:00

6.2 KiB
Raw Blame History

C++ 中值传递和引用传递的区别?

C 和 C++ 的区别?

什么是 C++ 的左值和右值?有什么区别?

什么是 C++ 的移动语义和完美转发?

什么是 C++ 的列表初始化?

C++ 中 move 有什么作用?它的原理是什么?

介绍 C++ 中三种智能指针的使用场景?

C++11 中有哪些常用的新特性?

C++ 中 static 的作用?什么场景下用到 static

C++ 中 const 的作用?谈谈你对 const 的理解?

C++ 中 define 和 const 的区别?

C++ 中 char*、const char*、char* const、const char* const 的区别?

C++ 中 inline 的作用?它有什么优缺点?

C++ 中数组和指针的区别?

C++ 中 sizeof 和 strlen 的区别?

C++ 中 extern 有什么作用extern "C" 有什么作用?

C++ 中 explicit 的作用?

C++ 中 final 关键字的作用?

C++ 中野指针和悬挂指针的区别?

什么是内存对齐?为什么要内存对齐?

C++ 中四种类型转换的使用场景?

C++ 中 volatile 关键字的作用?

什么是多态?简单介绍下 C++ 的多态?

C++ 中虚函数的原理?

C++ 中构造函数可以是虚函数吗?

C++ 中析构函数一定要是虚函数吗?

C++ 什么场景下需要用到移动构造函数和移动赋值运算符?

什么是 C++ 中的虚继承?

什么是 C++ 的函数重载?它的优点是什么?和重写有什么区别?

什么是 C++ 的运算符重载?

C++ 中 struct 和 class 的区别?

C++ 中 struct 和 union 的区别?如何使用 union 做优化?

C++ 中 using 和 typedef 的区别?

C++ 中 enum 和 enum class 的区别?

C++ 中 new 和 malloc 的区别delete 和 free 的区别?

C++ 中类定义中 delete 关键字和 default 关键字的作用?

C++ 中 this 指针的作用?

C++ 中可以使用 delete this 吗?

C++ 中 vector 的原理resize 和 reserve 的区别是什么size 和 capacity 的区别?

C++ 中 deque 的原理?它内部是如何实现的?

C++ 中 map 和 unordered_map 的区别?分别在什么场景下使用?

C++ 中 list 的使用场景?

什么是 C++ 中的 RAII它的使用场景

C++ 中 lock_guard 和 unique_lock 的区别?

C++ 中 thread 的 join 和 detach 的区别?

C++ 中 jthread 和 thread 的区别?

C++ 中 memcpy 和 memmove 有什么区别?

C++ 的 function、bind、lambda 都在什么场景下会用到?

请介绍 C++ 中使用模板的优缺点?

C++ 中函数模板和类模板有什么区别?

请介绍下 C++ 模板中的 SFINAE它的原则是什么

C++ 的 strcpy 和 memcpy 有什么区别?

C++ 中为什么要使用 std::array它有什么优点

C++ 中堆内存和栈内存的区别?

C++ 的栈溢出是什么?

什么是 C++ 的回调函数?为什么需要回调函数?

C++ 中为什么要使用 nullptr 而不是 NULL

什么是大端序?什么是小端序?

C++ 中 include <a.h> 和 include "a.h" 有什么区别?

C++ 是否可以 include 源文件?

C++ 中什么是深拷贝?什么是浅拷贝?写一个标准的拷贝构造函数?

C++ 中命名空间有什么作用?如何使用?

C++ 中友元类和友元函数有什么作用?

C++ 中如何设计一个线程安全的类?

C++ 如何调用 C 语言的库?

指针和引用的区别是什么?

介绍下 C++ 程序从编写到可执行的整个过程?

什么是 C++ 中的 auto 和 decltype

请介绍 C++ 多态的实现原理?

C++ 中为什么 new[] 和 delete[] 一定要配对使用?

C++ 中 malloc 申请的内存,可以用 delete 释放吗?

什么情况下会出现内存泄漏?如何避免内存泄漏?

请介绍 C++ 中 unique_ptr 的原理?

请介绍 C++ 中 shared_ptr 的原理shared_ptr 线程安全吗?

请介绍 C++ 中 weak_ptr 的原理?

C++ 中为什么要引入 make_shared它有什么优点

C++ 中 shared_from_this 的作用是什么?它有什么优点?

C++ 的 string 内部使用的是堆内存还是栈内存?

C++ 有哪些进程间通信的方式?

请介绍 C++ 中 future、promise、packaged_task、async 的区别?

C++ 的 async 使用时有哪些注意事项?

如何理解 C++ 中的 atomic

什么场景下使用锁?什么场景下使用原子变量?

C++ 中锁的底层原理是什么?

请介绍 C++ 的 6 种内存序?

C++ 的条件变量为什么要配合锁使用?

平时开发 C++ 程序处理错误是使用 try-catch 还是错误码方式?

C++ 中如何使用线程局部存储?它的原理是什么?

C++ 如何进行性能优化?

C++ 中模板的实现一定要写在头文件中吗?

C++ QT 中信号和槽的原理是什么?

如何解决 C++ 中条件变量的信号丢失和虚假唤醒问题?

C++ 什么场景下用继承?什么场景下使用组合?

什么情况下会出现死锁?如何避免死锁?

C++ 如何实现线程池?给出大体思路?

请介绍一下 C++ 的返回值优化?

C++ 的有栈协程和无栈协程有什么区别?

C++ 什么场景用线程?什么场景用协程?

C++ 动态库和静态库的区别?

C++ 中如何实现一个单例模式?

用过哪些 C++ 网络框架?都有什么优缺点?

用过哪些 C++ 数据库框架?都有什么优缺点?

用过哪些 C++ 日志框架?都有什么优缺点?

用过哪些 C++ 单元测试框架?都有什么优缺点?

介绍下 socket 的多路复用epoll 有哪些优点?

C++ 中 vector 的 push_back 和 emplace_back 有什么区别?

C++ 成员变量的初始化顺序是固定的吗?

C++ 多线程开发需要注意些什么?线程同步有哪些手段?

C++ 的迭代器和指针有什么区别?

C++ 中未初始化和已初始化的全局变量放在哪里?全局变量定义在头文件中有什么问题?

C++ 函数调用的原理是什么?什么是栈帧?

请介绍下std::sort的原理底层是快速排序吗

C++ new操作的背后都经历了什么