常见面试题之RAII

简介: 常见面试题之RAII

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


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


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


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


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


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

相关文章
|
安全 C++
C++进阶 智能指针(下)
C++进阶 智能指针(下)
46 0
|
7月前
|
C++ 容器
【编程技巧】 C++11智能指针
C++11引入了智能指针以自动管理内存,防止内存泄漏和悬挂指针: - `shared_ptr`:引用计数,多所有权,适用于多个对象共享资源。 - `unique_ptr`:独占所有权,更轻量级,适用于单一对象所有者。 - `weak_ptr`:弱引用,不增加引用计数,解决`shared_ptr`循环引用问题。 ## shared_ptr - 支持引用计数,所有者共同负责资源释放。 - 创建方式:空指针、new操作、拷贝构造/移动构造,以及自定义删除器。 - 提供`operator*`和`operator->`,以及`reset`、`swap`等方法。 ## unique_ptr
265 9
|
5月前
|
存储 Java 程序员
面向对象编程(C++篇4)——RAII
面向对象编程(C++篇4)——RAII
44 0
|
8月前
|
Java API
【并发编程】吃透Synchronized
【并发编程】吃透Synchronized
38 1
|
8月前
|
设计模式 安全 Java
Java多线程基础-8:单例模式及其线程安全问题(一)
本文介绍了设计模式中的单例模式,它是软件开发中的经典模式,确保某个类在程序运行期间只有一个实例。
75 0
|
8月前
|
设计模式 安全 Java
Java多线程基础-8:单例模式及其线程安全问题(二)
单例模式是软件设计模式之一,确保一个类只有一个实例并提供全局访问点。
66 0
|
缓存 安全 Java
Java并发编程学习2-线程安全性
本篇介绍 线程安全性,竞态条件,加锁机制
90 1
Java并发编程学习2-线程安全性
|
8月前
|
设计模式 安全 编译器
多线程(初阶六:单例模式)
多线程(初阶六:单例模式)
59 0
|
设计模式 Java 容器
一篇神文就把java多线程,锁,JMM,JUC和高并发设计模式讲明白了
今天给大家分享一篇一线开发大牛整理的java高并发核心编程神仙文档,里面主要包含的知识点有:多线程、线程池、内置锁、JMM、CAS、JUC、高并发设计模式、Java异步回调、CompletableFuture类等。
|
安全 Linux C++
C++进阶 智能指针(上)
C++进阶 智能指针
44 0