10道面试常考的C++面试题 - Sad

news/2025/11/24 15:18:25/文章来源:https://www.cnblogs.com/sad-dependent/p/19264325
10道面试常考的C++面试题

1. 多态是怎么实现的?虚函数表了解吗?

  • 运行时多态通过虚函数表(vtable)实现
  • 每个有虚函数的类有一个唯一的虚函数表
  • 对象内部(通常首部)含有一个vptr指针指向本类的vtable
  • 调用虚函数时通过vptr→vtable查找函数地址实现动态绑定

2. 基类析构函数为什么必须是虚函数?

  • 通过基类指针/引用删除派生类对象时,若基类析构非虚,只调用基类析构
  • 导致派生类部分未析构,产生资源泄漏
  • 只要存在通过基类指针删除的可能性,基类析构就必须声明为virtual

3. new 和 malloc 的区别?

  • new是C++运算符,malloc是C库函数
  • new自动计算大小并调用构造函数,malloc需手动计算字节数
  • new返回正确类型指针,malloc返回void*
  • new可被重载,malloc不可
  • new抛出std::bad_alloc,malloc返回NULL

4. shared_ptr 实现原理?循环引用怎么解决?

  • 控制块包含强引用计数、弱引用计数、deleter等
  • 拷贝时强引用计数+1,析构时-1,为0时释放资源
  • 循环引用:A含shared_ptr<B>,B含shared_ptr<A>,导致计数无法归零
  • 解决:循环的一方改为weak_ptr

5. 堆和栈的区别?

  • 栈:自动管理,连续空间,速度快,大小受限
  • 堆:手动管理(new/delete)管理,动态分配,易碎片,理论上受虚拟内存限制

6. 死锁产生的四个条件?如何避免?

  • 互斥、持有并等待、非抢占、循环等待
  • 避免方法:
    • 按固定顺序加锁
    • 尽量短时间持锁
    • 使用std::lock
    • 超时机制

7. map 和 unordered_map 的区别?什么时候用哪个?

  • map:红黑树,有序,O(log n),支持范围查询
  • unordered_map:哈希表,平均O(1),无序
  • 有序要求或需要lower_bound用map;追求极致性能且无序要求用unordered_map

8. 重载、重写、重定义的区别?

  • 重载(overload):同一作用域内,函数名相同参数列表不同
  • 重写(override):派生类虚函数与基类虚函数签名完全一致(C++11可显式override)
  • 重定义(redefinition/hiding):派生类定义同名函数(非虚),隐藏基类所有同名函数

9. 深拷贝和浅拷贝的区别?

  • 浅拷贝:只拷贝指针值,多个对象指向同一块内存
  • 深拷贝:拷贝指针指向的内容,为每个对象分配独立内存
  • 浅拷贝易导致重复释放,深拷贝安全但开销大

10. 右值引用和左值引用的区别?

  • 左值引用:绑定到左值(有名字的实体)
  • 右值引用:绑定到右值(临时对象、将亡值)
  • 右值引用可延长临时对象生命周期,用于实现移动语义

作者最近整理了一个C++学习仓库,包含:体系化学习路线 + 详细的入门教程 + 常用开发工具 + 优质资源合集 + 高频面试题(含解析),有需要的小伙伴可以看看:awesome-modern-cpp-2025

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/974908.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Oracle 11g 安装程序闪退无法运行问题解决

今日为一台新服务器安装Oracle 11G时安装程序一闪而过,无法运行,查看安装报错日志 “ C:\Users\Administrator\AppData\Local\Temp\1\OraInstall2025-11-24_02-49-27PM”如下: Using paramFile: E:\database11.2.0.…

2025年上海一对一辅导机构推荐:徐汇区、虹口区家教辅导机构深度测评榜单

在徐汇区的徐家汇、衡山路商圈,虹口区的北外滩、四川北路商圈,无论是云锦东方、嘉御庭等高档小区的家长,还是瑞虹新城、外滩豪景苑的家庭,都在为孩子寻找靠谱的小学、初中、高中一对一课外补习机构。数据显示,上海…

2025年上海一对一辅导机构推荐:杨浦区、闵行区家教辅导机构深度测评榜单

杨浦区五角场、江湾城商圈,闵行区莘庄、古美板块的家长们,在为孩子挑选小学、初中、高中课外补习机构时,常陷入“机构太多挑花眼”“价格虚高没效果”“通勤耗时费力”的困境。据上海教育行业白皮书显示,2024年杨浦…

深入解析:从BIOS到UEFI:电脑启动进化史

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

深耕四川 服务全国钢栈桥厂家推荐!四川中和志城建筑工程以施工 / 临时 / 装配式等全品类钢栈桥技术,筑牢工程生命线

在大型基建、水利水电、港口码头等工程项目中,钢栈桥与钢平台是保障施工通行、物资运输的 “临时动脉”,更是决定项目效率与安全的核心基础设施。四川中和志城建筑工程有限公司,深耕四川、辐射全国,专注于施工钢栈…

周总结汇览

2025 11 月 week 4

质量管理系统(QMS),如何选供应商?

在数字化转型的浪潮中,越来越多的企业意识到质量管理系统的价值。然而,面对市场上琳琅满目的QMS供应商,如何做出正确的选择,成为困扰许多企业的难题。本文将通过真实案例,为您揭示选型的关键要点。 一、选型失败的…

2025 年 11 月二氧化硫检测仪厂家推荐排行榜,便携式二氧化硫检测仪,固定式二氧化硫检测仪,在线二氧化硫检测仪,高精度二氧化硫检测仪公司精选

2025 年 11 月二氧化硫检测仪厂家推荐排行榜 二氧化硫作为一种常见的有毒有害气体,在工业生产、环境监测等领域具有重要检测需求。随着环保政策的趋严和安全生产意识的提升,二氧化硫检测仪市场呈现出快速发展的态势。…

2025年整流桥GBL生产厂家权威推荐榜单:整流桥GBU/整流桥GBP/整流桥KBJ源头厂家精选

在电源管理与能源效率日益受到重视的工业领域,整流桥作为基础却关键的电子元件,其性能与可靠性直接影响整个电路的运行效率与稳定性。 本文将基于企业的技术实力、生产规模、产品质量及市场应用等多个维度,为您推荐…

Java 中的结构化并发模式

并发编程长期以来一直是 Java 的阿喀琉斯之踵。尽管 ExecutorService 和 Future 为我们提供了良好的服务,但它们允许不受限制的模式,其中子任务可能比其父任务存活更久、线程可能泄漏,而取消操作则变成了一场噩梦。…

ddddocr: 得到滑块的目标位置

一,代码: import base64 from ddddocr import DdddOcrimport numpy as np from PIL import Image import io from PIL import Image, ImageFilter from io import BytesIOocr = DdddOcr(det=False, ocr=False)with o…

小满的五年心得体会(程序人生) - 教程

小满的五年心得体会(程序人生) - 教程2025-11-24 15:09 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !i…

ChatGPT响应背后的47步技术之旅

本文深入解析用户向ChatGPT发送"Hello"后0.8秒内发生的完整技术流程,包括12个系统处理、1750亿参数神经网络运作、47个计算步骤等关键技术细节,揭示大语言模型背后的复杂基础设施。你输入"Hello"…

2025 最新山东青岛进口公司排行榜,全链路进口清关优质企业最新推荐 涵盖多品类专业服务权威榜单机械进口代理/海关进口代理/进口通关/进口报关行/代理进口公司推荐

引言 在全球贸易一体化加速推进的背景下,进口代理与清关服务的专业性、高效性成为企业跨境贸易成功的关键。本次排行榜由国际物流与贸易协会联合权威测评机构打造,基于近一年全球 1200 余家进口服务商的实测数据,通…

我在赛时写下了如下代码,你也来试试吧

#include<iostream> #include<vector> #include<algorithm> #include<climits> using namespace std; #define getc getchar_unlocked #define putc putchar_unlocked #define ed cout<<…

cmake使用教程 - 教程

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

2025 年 11 月实验室净化工程厂家权威推荐榜:洁净室/手术室/无尘车间建设装修全方案解析,专业技术与高效服务深度评测

2025 年 11 月实验室净化工程厂家权威推荐榜:洁净室/手术室/无尘车间建设装修全方案解析,专业技术与高效服务深度评测 行业背景与发展趋势 随着生物医药、精密制造、医疗卫生等行业的快速发展,对洁净环境的需求日益…

催化剂过滤回收哪家好?相关领域企业选择参考

催化剂过滤回收是化工、医药、新材料等行业生产过程中的重要环节,其效率和质量直接影响资源利用率与生产安全性。通过有效的过滤回收工艺,不仅能实现催化剂的循环利用,还能减少废弃物排放,推动行业绿色发展。 一、…

NOIP 模拟赛 8 总结

分数:\(100 + 0 + 0 + 0 = 100\) 永康喵喵坠机了! 别样的数数大战。 T1 这道题本身非常糖,但是我更糖。 考虑 \(n \le 5000\),我们可以一边遍历 \(a\),设当前遍历到了 \(a_i\),记录 \(a_1 + a_{i-1}, a_2 + a_{i…

智能交通新引擎:国标GB28181算法算力平台EasyGBS打造城市交通路口智能感知中枢

智能交通新引擎:国标GB28181算法算力平台EasyGBS打造城市交通路口智能感知中枢在城市交通治理中,路口作为城市道路的“神经末梢”,其运行状态直接决定了整体交通效率与安全。传统交通路口监控系统面临着设备品牌杂乱…