raii 相关问题

资源获取初始化(RAII)是C ++中用于管理资源生命周期的常用习惯,包括内存分配,文件句柄或数据库连接。简而言之,每个资源都应该包含在一个拥有类中,其生命周期控制着资源的生命周期。

使用RAII在给定的迭代次数后重新分配资源

我需要处理大量物品。为此,需要一个资源,在这种情况下,该资源是外部软件程序。由于外部软件的内存泄漏,因此无法...

回答 1 投票 0

在RAII结构中修改RVO值是否安全? [重复]

请考虑以下程序:#include #include class RvoObj {public:RvoObj(int x):x_ {x} {} RvoObj(const RvoObj&obj):x_ {obj.x_} {std :: cout ...

回答 2 投票 5

RAII线程安全吸气剂

[大多数时候,我在代码中看到了线程安全的getter方法的这种实现的某些变体:类A {public:内联资源getResource()const {Lock lock(...

回答 3 投票 2

什么是C ++中的标准延迟/ finalizer实现?

此处将对Golang样式延迟的一般概念进行说明。我想知道,是STL(C ++ 11,C ++ 14等)还是Boost或其他库包含此类的实现?所以我可以...

回答 8 投票 7

是否可以在RwLock drop上运行闭包?

我有一个程序,将可变状态隐藏在RwLock后面。我想做的是,当可变地借入它(RW_LOCK.write())时,它应该执行某些操作(即,尝试写入文件,清理...

回答 1 投票 0

如果我忽略具有shared_ptr返回类型的函数的返回值,该怎么办

## #include 使用命名空间std; shared_ptr func(){shared_ptr ptr = make_shared (“ smart poiter”);返回ptr; ...

回答 2 投票 1

如何使RAII性能的用户对象?

我在用怎样的一个发布/订阅模式的链接交谈一些硬件。在C ++中,我与RAII订阅记得要随时取消订阅,但我似乎无法获得所有权/ ...

回答 1 投票 0

scoped_lock() - 使用pthread的RAII实现

我有一个在4个线程之间共享的套接字,我想使用RAII原则来获取和释放互斥锁。我正在使用pthread库的基本现实。我不能使用Boost。一世 ...

回答 1 投票 2

Javascript自动释放资源(如RAII)

我的一般问题是我可以使用哪些技术来确保在Javascript中清理/释放资源?目前,我采用C(无goto)方法找到每个执行路径...

回答 3 投票 7

C ++是否支持'finally'块? (我听到的'RAII'是什么?)

C ++是否支持'finally'块?什么是RAII成语? C ++的RAII习语与C#的'using'语句有什么区别?

回答 16 投票 247

在C ++中实现“contextmanager”的最佳实践+语法

我们的Python代码库有与代码相关的代码,如下所示:class Timer:def __enter __(self,name):self.name = name self.start = time.time()def __exit __(self):...

回答 3 投票 8

这个RAII风格的Objective-C课程会起作用吗?

在C ++下,我有一个Mutex类,我使用这个RAII风格的类来确保互斥锁被解锁,无论方法返回的原因是什么:class MutexLock {protected:Mutex&m_mutex; ...

回答 4 投票 7

当我用引用而不是拥有值调用std :: mem :: drop时会发生什么?

fn main(){let k =“fire”;下降(K); println!(“{:?}”,k);游乐场为什么我放弃后仍能使用k? drop是否会自动降低参考值?如果是,那为什么呢? ...

回答 1 投票 4

如何正确调用vulkan.hpp构造函数来获取命令缓冲区?

我一直在改变一些vulkan代码来使用vulkan.hpp结构和方法。由于我喜欢RAII,因此我使用Unique包装器,而不必明确地处理资源管理。至今 ...

回答 2 投票 0

在纯C中实现RAII?

是否有可能在纯C中实现RAII?我认为不可能以任何理智的方式,但也许可能使用某种肮脏的技巧。重载标准免费功能来......

回答 11 投票 53

unique_ptr / auto_ptr看起来与c ++ 98的自定义删除器相似

auto_ptr不支持自定义删除器和tr1 shared_ptr对我来说不是一个好选择。在使用自定义删除器的unique_ptr / auto_ptr外观c11之前是否有任何不错的选择?

回答 1 投票 0

当RAII无法实现时,如何在C ++中“尝试/最后”?

我从重C#背景回到C ++,我继承了一些C ++代码库,我认为这些代码库可能不符合最好的C ++实践。例如,我正在处理......

回答 2 投票 2

为文件上的读写操作实现File类

我需要实现一个包含常规文本文件的类,该文件对多个线程(例如“读者”线程和“编写器”)的读写操作都有效。我正在研究视觉......

回答 1 投票 1

是否有一种语言与RAII + Ref计数没有不安全的指针算术?

RAII =资源获取是初始化参考计数=“穷人的GC”在一起,它们非常强大(就像一个重新计算的3D对象持有一个VBO,当它是析构函数时它会释放...

回答 6 投票 6

Rust如何执行/实施RAII [关闭]

我正在研究一种(可能)严肃的编程语言,并希望学习如何实现内存管理。我希望这种语言强制执行RAII,类似于Rust,但是,与rust不同,这种语言是......

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.