C++语言基础面试汇总(转载收集)

    技术2025-07-19  16

    ** 总结的一些链接,全是转载的,侵删。

    C++基础

    1.指针和引用的区别 2.堆和栈的区别 3.new和delete是如何实现的,new 与 malloc的异同处 4.C和C++的区别 5.C++、Java的联系与区别,包括语言特性、垃圾回收、应用场景等(java的垃圾回收机制) 6.Struct和class的区别 7.define 和const的区别(编译阶段、安全性、内存占用等) 8.在C++中const和static的用法(定义,用途) 9.C++中的const类成员函数(用法和意义) 10.const和static在类中使用的注意事项(定义、初始化和使用) 11.sizeof 12. 13.C++的STL介绍,其中包括内存管理allocator,函数,实现机理,多线程实现等 14.STL源码中的hash表的实现 15.STL中unordered_map和map的区别 16.STL中vector的实现 17.vector使用的注意点及其原因,频繁对vector调用push_back()对性能的影响和原因。 18.C++中的重载和重写的区别: 19.C ++内存管理(热门问题) 20.介绍面向对象的三大特性,并且举例说明每一个。 21.多态的实现(和下个问题一起回答) 22.C++虚函数相关(虚函数表,虚函数指针),虚函数的实现原理(热门,重要) 23.实现编译器处理虚函数表应该如何处理 24.析构函数一般写成虚函数的原因 25.构造函数为什么一般不定义为虚函数 26.构造函数或者析构函数中调用虚函数会怎样 LINK 27.纯虚函数 28.静态绑定和动态绑定的介绍 29.引用是否能实现动态绑定,为什么引用可以实现 30.深拷贝和浅拷贝的区别(举例说明深拷贝的安全性) 31.零拷贝的了解,对象复用的了解 32.介绍C++所有的构造函数 33.什么情况下会调用拷贝构造函数(三种情况) 34.结构体内存对齐方式和为什么要进行内存对齐? 35.内存泄露的定义,如何检测与避免? 36.手写实现智能指针类 37.调试程序的方法 38.遇到coredump要怎么调试 39.内存检查工具的了解 40.模板的用法与适用场景 41.成员初始化列表的概念,为什么用成员初始化列表会快一些(性能优势)? 42.用过C11吗,知道C11新特性吗? 43.C++的调用惯例(简单一点C++函数调用的压栈过程) 44.C++的四种强制转换 45.delete和delete[ ]的区别 46.野指针和悬空指针 47.inline函数和宏定义区别 48strcpy和memcpy的区别 49.实现unique_ptr 50.volatile 51.引用、常指针、常引用、指针常量、引用常量 52.C++ 自由存储区是否等价于堆? 53.C++中this指针的用法详解 54.C++指针比较大小(详解版)

    Processed: 0.010, SQL: 10