raii

raii

文章 0 浏览 2

如何将删除器传递给由shared_ptr持有的同一类中的方法

我有几个来自第三方库的类,类似于 StagingConfigDatabase 类,它需要在创建后销毁。我正在为 RAII 使用shared_ptr,但更愿意使用单行代码创建shared_…

旧人 2024-10-08 15:46:33 0 0

可选元素是否会破坏 RAII?如果是,更好的方法是什么?

我有一个二维细胞矩阵。通常只有不可见的算法才能处理这些单元。但有时我想可视化每个单元格,因此我添加了一个指向图形对象的指针。 class Cell { ..…

风吹过旳痕迹 2024-10-04 03:40:41 1 0

为什么使用运算符<<时需要重载通过模板?

正如在这个问题中一样,我正在尝试通过使用 SBRM/RAII 的类,因此 SBRM(x) &lt&lt "test" 可以在析构函数中做一些额外的事情,但我的模板知识似乎有限…

人│生佛魔见 2024-09-30 18:15:00 0 0

当 RAII 对象构建失败时

假设我构造一个 RAII 对象,该对象可能无法构造。我该如何处理这个问题? try { std::vector&ltint&gt v(LOTS) // try scope ends here because that'…

落墨 2024-09-30 04:06:05 1 0

D 中基于堆栈的对象实例化

我正在学习 D,并且对我遇到的错误感到困惑。 考虑以下事项: module helloworld import std.stdio import std.perf ptrdiff_t main( string[] args )…

故人如初 2024-09-28 11:35:45 0 0

当语言不支持析构函数时如何对堆栈展开做出反应?

假设您已经创建了 Window 类的实例。该窗口显示给用户。然后,抛出异常,并且对实例的引用丢失,但用户仍然可以看到该窗口,因为该实例仍然存在(只是…

顾冷 2024-09-26 22:31:14 1 0

如何将 C API 封装到 RAII C++课程?

给定一个控制拥有项目的会话的库的 C API,将 C API 封装到 RAII C++ 类中的最佳设计是什么? C API 如下所示: HANDLE OpenSession(STRING sessionID…

蛮可爱 2024-09-24 01:04:46 2 0

GC 语言中是否有关于 RAII 的研究(或更好的使用)?

注意:对象生命周期 RAII 不使用/使用块作用域 RAII 似乎可以使用额外的 gc 类别、短寿命对象(稍微频繁地检查 gc 类别)、长寿命对象(不太频繁地检…

妞丶爷亲个 2024-09-18 05:50:54 3 0

C++ 的方式抛出特定异常时析构函数跳过工作?

我在堆栈上有一个对象,我希望其析构函数在调用析构函数时跳过一些工作,因为由于通过堆栈上对象的范围抛出特定异常,堆栈正在展开。 现在我可以在堆…

兮子 2024-09-10 20:59:46 4 0

何时不使用 RAII 进行资源管理

谁能给我提供一个或多个具体示例,说明 RAII 不是最有效的资源管理方法,为什么?…

薔薇婲 2024-09-10 14:39:02 2 0

RAII 和分配

我为 sqlite3 连接创建了以下类: class SqliteConnection { public: sqlite3* native SqliteConnection (std::string path){ sqlite3_open_v2 (path.…

作妖 2024-09-10 07:58:45 1 0

您可以将shared_ptr 用于C 风格数组的RAII 吗?

我正在研究一段代码,该代码有许多可能的故障点,导致其提前退出该函数。我正在交互的库要求将 C 样式数组传递给函数。因此,我不是在每个退出点对数…

暮年慕年 2024-09-10 01:38:31 3 0

释放分配的内存

这是好的做法吗?或者我应该用函数替换 { 和 } 之间的代码块?它可以重用(我承认),但我这样做的唯一动机是释放 colsum 因为它巨大并且不是必需的,…

虐人心 2024-09-10 01:04:31 2 0

C++ Raii 和堆栈展开

(我修改了原来的问题,使其更有意义) 关于 return 语句,Raii 对象在 return 语句之前/之后/之间是否被销毁? 例如 size_t advance() { boost::lock…

彩扇题诗 2024-09-08 02:45:17 2 0

一旦引用计数达到 0,就让shared_ptr 调用成员函数

我正在为不能与 DuplicateHandle 一起使用的 HANDLE 创建一个包装器,因此我尝试将句柄包装在共享指针中。 想象一下以下代码: class CWrapper { publ…

倾城泪 2024-09-06 04:23:59 1 0
更多

推荐作者

花开柳相依

文章 0 评论 0

zyhello

文章 0 评论 0

故友

文章 0 评论 0

对风讲故事

文章 0 评论 0

Oo萌小芽oO

文章 0 评论 0

梦明

文章 0 评论 0

更多

友情链接

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文