面面俱到/c++面试
文章平均质量分 84
c++面试知识点
ChongYu重玉
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【面面俱到/c++】多态的实现(重载、模板、虚函数表、虚基表)
C++多态机制解析:静态与动态多态的实现原理 摘要: C++多态分为静态多态(编译时)和动态多态(运行时)。静态多态通过函数重载、运算符重载和模板实现,编译器根据函数签名或模板实例化选择正确版本。动态多态依靠虚函数机制实现,包括虚函数表(vtable)和虚函数指针(vptr),运行时通过查表确定调用哪个函数。对于多重继承和菱形继承问题,使用虚基表指针(vbptr)解决成员重复问题。静态多态效率高但灵活性有限,动态多态更灵活但有一定性能开销。两者共同构成了C++强大的多态特性体系。原创 2025-07-10 16:07:58 · 1281 阅读 · 0 评论 -
【面面俱到/c++面试】内存泄漏
C++内存泄漏主要分为五种类型:1)堆内存泄漏,由new/malloc未配套delete/free导致;2)无法释放的泄漏,包括智能指针循环引用和内存丢失;3)系统资源泄漏,如未关闭文件句柄;4)野指针和悬挂指针问题;5)基类析构函数未声明为virtual导致的派生类资源泄漏。解决方法包括:遵循RAII原则、规范指针使用、合理设计类继承关系、配套使用内存管理函数。良好的编程习惯和正确使用智能指针可以有效预防内存泄漏问题。原创 2025-07-10 14:13:00 · 1002 阅读 · 0 评论 -
【面面俱到/c++面试】static关键字
摘要:本文详细解析了static关键字在C++中的三种用法:1)修饰函数局部变量使其只初始化一次且生命周期延长;2)限定全局变量/函数作用域仅在当前文件内;3)声明类静态成员(变量/函数),这些成员属于类而非对象,需类外定义。通过典型应用场景分析,如函数调用计数、命名冲突避免、类公用变量管理等,系统阐述了static的关键特性(作用域、生命周期、访问规则)。文章采用模块化结构,辅以代码示例说明,最后以"待实践"结尾,体现技术文档的实用性特征。原创 2025-07-09 15:22:16 · 424 阅读 · 0 评论 -
【面面俱到/c++面试】智能指针
本文介绍了C++智能指针的核心概念,包括unique_ptr、shared_ptr和weak_ptr三种类型。unique_ptr独占对象所有权,不可复制但可移动;shared_ptr通过引用计数实现所有权共享;weak_ptr作为观察者指针,不增加引用计数,可解决循环引用问题。文章还剖析了各类智能指针的实现原理,如unique_ptr禁用拷贝构造、shared_ptr的引用计数机制等,并提供了基本用法示例。最后提到将实践实现这些智能指针类的计划。全文简明扼要地阐述了C++智能指针的关键知识点。原创 2025-07-09 13:58:38 · 900 阅读 · 0 评论
分享