常见面试题之RAII

简介: 常见面试题之RAII

面试时碰到这么一道面试题,面试官说请谈一谈RAII。


其实就是Resouce Acquisition Is Initialization,资源获取即初始化。


抓住两个点。1,获取资源后立即放进管理对象。


2,管理对象运用析构函数确保资源被释放。


如果用自己的话说:这是c++管理资源,避免内存泄漏的一种方式。典型的应用是智能指针,创建对象的时候使用智能指针接管,离开其作用域自动释放资源。


如果想回答得艺术一点,可以引用自己看过的书。Effective C++ 里面的条款13 use objects to manage resouces(用对象管理资源)这一节,正是谈论的这个问题。

相关文章
|
8月前
|
存储 SQL 关系型数据库
mysql的undo log、redo log、bin log、buffer pool
MySQL的undo log、redo log、bin log和buffer pool是确保数据库高效、安全和可靠运行的关键组件。理解这些组件的工作原理和作用,对于优化数据库性能和保障数据安全具有重要意义。通过适当的配置和优化,可以显著提升MySQL的运行效率和数据可靠性。
210 16
|
7月前
|
SQL IDE 关系型数据库
JetBrains DataGrip 2025.1 发布 - 数据库和 SQL 跨平台 IDE
JetBrains DataGrip 2025.1 (macOS, Linux, Windows) - 数据库和 SQL 跨平台 IDE
443 0
|
8月前
|
存储 文字识别 数据可视化
让你的电脑变得与众不同的冷门小工具
本文推荐了5款冷门但功能强大的小工具:1. MiniBin,轻量级回收站管理工具;2. AltairSimLab,多物理场仿真平台;3. 燃精灵,微信空号检测软件;4. IrfanView,经典图像查看器;5. Folder Size View,磁盘空间分析工具。这些软件体积小巧,功能出色,可大幅提升工作效率。
209 4
|
传感器 机器人
数字孪生
数字孪生(Digital Twin)是一种数字模型,它可以模拟现实世界中的物体、设施、系统等的结构、行为和性能。数字孪生技术将物理世界与数字世界相结合,通过实时数据和历史数据,
602 2
|
存储 数据采集 缓存
Linux 设备驱动程序(三)(中)
Linux 设备驱动程序(三)
227 1
|
Kubernetes Docker 容器
【赵渝强老师】Docker的Container网络模式
Docker容器在网络环境中彼此隔离,但可通过配置不同网络模式实现容器间通信。其中,container模式使容器共享同一网络命名空间,通过localhost或127.0.0.1互相访问,提高传输效率。本文介绍了container模式的特点及具体示例。
284 0
|
架构师 Java 数据库
阿里架构师花近十年时间整理出来的Java核心知识pdf(Java岗)
由于细节内容实在太多啦,所以只把部分知识点截图出来粗略的介绍,每个小节点里面都有更细化的内容! 整理了一份Java核心知识点。覆盖了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点。
|
弹性计算 C# 异构计算
阿里云域名、云虚拟主机、企业邮箱及云服务器优惠价格表(2023收费标准参考)
域名,云虚拟主机,企业邮箱及云服务器是阿里云旗下的基础产品,阿里云的云服务器ECS产品是很多用户上云的首选云服务器产品,同时阿里云的域名注册量一直稳居国内第一,旗下的云虚拟主机产品也是普通站长经常购买的产品,而阿里云的企业邮箱产品也收到越来越多的个人和企业用户喜欢,本文给大家分享一下2023年阿里云最新的域名,云虚拟主机,企业邮箱及云服务器优惠价格表,以供参考。
3523 0
阿里云域名、云虚拟主机、企业邮箱及云服务器优惠价格表(2023收费标准参考)
|
Java 关系型数据库 Docker
docker compose编排springboot应用
docker compose编排springboot应用
407 0
|
SQL Dubbo 安全
关于“错误码”设计方面的思考|系统异常,我****
这篇文章给大家分享一下关于“错误码”设计方面的思考。其实提到“错误码”我的第一反映是:混乱。 特别是在微服务架构之下,各个团队都有一套自己的“错误码”,甚至在一个团队里面不同的微服务都有自己的一套码值,这些“一套一套”的错误码,各成一派,互不通气。 但是一旦微服务上下游交互涉及到错误码转换的时候,总有一方就开始痛了,因为总有一方要承担兼容转换、令人“恶心”的逻辑。 我也见过试图在一片混乱中“力挽狂澜”的案例,比如由基础架构组提供统一的错误码管理平台,如果某个系统需要错误码就去该管理平台上去申请。 这个想法固然是好的,但是我认为存在的一个巨大的问题就是:历史码值的治理。