前言:欢迎来到C++面试环节!在这个阶段,我们将测试您对C++语言的理解和应用能力。通过这些问题,我们希望了解您对C++基础知识、面向对象编程、模板、STL等方面的掌握情况。请放松心态,尽力回答每个问题,并且在可能的情况下提供示例代码或具体解释。
特殊说明:转载之公众号《深入浅出cpp》。|仅供本人学习使用
答案链接:C++高频面试题:智能指针、多态、虚函数、stl原理
智能指针实现原理智能指针,里面的计数器何时会改变智能指针和管理的对象分别在哪个区(智能指针本身在栈区,托管的资源在堆区,利用了栈对象超出生命周期后自动析构的特征,所以无需手动delete释放资源。面向对象的特性:多态原理介绍一下虚函数,虚函数怎么实现的多态和继承在什么情况下使用除了多态和继承还有什么面向对象方法C++内存分布。什么样的数据在栈区,什么样的在堆区C++内存管理(RAII啥的)C++从源程序到可执行程序的过程一个对象=另一个对象会发生什么(赋值构造函数)如果new了之后出了问题直接return。会导致内存泄漏。怎么办(智能指针,raii)c++11的智能指针有哪些。weak_ptr的使用场景。什么情况下会产生循环引用多进程fork后不同进程会共享哪些资源多线程里线程的同步方式有哪些size_of是在编译期还是在运行期确定函数重载的机制。重载是在编译期还是在运行期确定指针常量和常量指针vector的原理,怎么扩容介绍一下const引用和指针的区别Cpp新特性知道哪些类型转换RAII基于什么实现的(生命周期、作用域、构造析构手撕:Unique_ptr,控制权转移(移动语义)手撕:类继承,堆栈上分别代码实现多态unique_ptr和shared_ptr区别右值引用函数参数可不可以传右值参考c/c++堆栈实现自己的堆栈。要求:不能用stl容器。stl容器了解吗?底层如何实现:vector数组,map红黑树,红黑树的实现完美转发介绍一下 去掉std::forward会怎样?介绍一下unique_lock和lock_guard区别?C代码中引用C++代码有时候会报错为什么?静态多态有什么?虚函数原理 虚表是什么时候建立的 为什么要把析构函数设置成虚函数?map为啥用红黑树不用avl树?(几乎所有面试都问了map和unordered_map区别)inline 失效场景C++ 中 struct 和 class 区别如何防止一个头文件 include 多次lambda表达式的理解,它可以捕获哪些类型友元friend介绍move函数模版类的作用模版和泛型的区别内存管理:C++的new和malloc的区别new可以重载吗,可以改写new函数吗C++中的map和unordered_map的区别和使用场景他们是线程安全的吗c++标准库里优先队列是怎么实现的?gcc编译的过程C++ Coroutineextern C有什么作用c++ memoryorder/elf文件格式/中断对于操作系统的作C++的符号表C++的单元测试#面经##C++面试题##八股文##秋招怎么这么难##秋招面试题#