raii 问答列表

C++ 错误处理,无需绕过堆栈展开过程

作者:stackoverfIow 提问时间:6/16/2023

我希望在由许多源文件和头文件组成的代码中进行干净的错误处理。我更喜欢使用传统的 C 样式状态代码(调用函数,成功时返回 1,然后检查返回值是否为 1),如果状态代码不是 1,那么我想调用一个错误函数,...

如何用 #pragma 实现 RAII?

作者:neutrion 提问时间:11/1/2023

目前,我有以下一段代码: enum class Letters { A, B, C }; #pragma GCC diagnostic push #pragma GCC diagnostic...

Vulkan-hpp m_dispatcher->getVkHeaderVersion() != VK_HEADER_VERSION

作者:Amir Khaki 提问时间:9/11/2023

我正在尝试使用 vulkan raii 并创建一个实例(实际上是实例化 vk::raii::Context) 我收到此错误 /usr/include/vulkan/vulkan_raii.hpp:...

为什么添加默认的移动赋值运算符会破坏标准交换函数的编译?

作者:Xeverous 提问时间:9/15/2023

在下面的代码中,如果未注释移动赋值,则交换函数将停止程序的编译。我在所有 3 个主要编译器(GCC、Clang、MSVC)上都观察到了这种行为。 #include <utility> #includ...

带有 Rust 的 RAII 风格防护给出无效的生命周期错误

作者:user1055947 提问时间:8/13/2023

我正在编写词法分析器,并希望使用 RAII 帮助程序前进/备份游标。我有一个字符串,它由充当游标的类型索引。它是在顶层创建的,带有父保护,或者从父保护扩展而来。我相信以下代码正确地模拟了生存期:是 '...

为什么 std::scope_success 析构函数检查未捕获的异常是小于还是等于

作者:tmlen 提问时间:7/31/2023

根据 https://en.cppreference.com/w/cpp/experimental/scope_success/~scope_success 析构函数检查当前未捕获异常 (std:...

将私有唯一指针与公共方法交换

作者:ajsdiubfaoishd 提问时间:7/23/2023

我有一个带有私有 unique_ptr 成员的类,我想公开一个公共交换函数,该函数会将其unique_ptr成员的所有权与提供的其他成员的所有权交换。我该怎么做? class A{ // a is ...

RAII 使用自定义删除程序的 unique_ptr

作者:Mohit 提问时间:7/5/2023

我想使用 std::unique_ptr 进行自动清理,但要初始化unique_ptr我需要一个地址指向。如何避免 noUse 变量? bool noUse; auto deleter = [](b...

boost::spirit 和 RAII 中的 scope 对象

作者:Frank Puck 提问时间:6/30/2023

在某些语言中,可以再次打开和关闭新作用域。在 C++ 中,这将是大括号。 假设在遇到左大括号时创建一个新范围,并在遇到匹配的右大括号时关闭它。 如果在遇到右大括号之前出现解析错误,会发生什么情况?如何...

为什么使用具有唯一锁的延迟锁

作者:SameemSh. 提问时间:6/25/2023

为什么要使用延迟锁定? 先获得所有权后锁定是什么? 获得所有权和锁定有点不一样。 如果我们使用互斥锁的唯一锁而不是锁定来获得所有权,它是否仍然容易出现竞争条件? void fun1(std::mu...


共20条 当前第1页