C++ 错误处理,无需绕过堆栈展开过程
作者:stackoverfIow 提问时间:6/16/2023
我希望在由许多源文件和头文件组成的代码中进行干净的错误处理。我更喜欢使用传统的 C 样式状态代码(调用函数,成功时返回 1,然后检查返回值是否为 1),如果状态代码不是 1,那么我想调用一个错误函数,...
raii 问答列表
作者:stackoverfIow 提问时间:6/16/2023
我希望在由许多源文件和头文件组成的代码中进行干净的错误处理。我更喜欢使用传统的 C 样式状态代码(调用函数,成功时返回 1,然后检查返回值是否为 1),如果状态代码不是 1,那么我想调用一个错误函数,...
作者:neutrion 提问时间:11/1/2023
目前,我有以下一段代码: enum class Letters { A, B, C }; #pragma GCC diagnostic push #pragma GCC diagnostic...
作者: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...
作者:user1055947 提问时间:8/13/2023
我正在编写词法分析器,并希望使用 RAII 帮助程序前进/备份游标。我有一个字符串,它由充当游标的类型索引。它是在顶层创建的,带有父保护,或者从父保护扩展而来。我相信以下代码正确地模拟了生存期:是 '...
作者: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 ...
作者:Mohit 提问时间:7/5/2023
我想使用 std::unique_ptr 进行自动清理,但要初始化unique_ptr我需要一个地址指向。如何避免 noUse 变量? bool noUse; auto deleter = [](b...
作者:Frank Puck 提问时间:6/30/2023
在某些语言中,可以再次打开和关闭新作用域。在 C++ 中,这将是大括号。 假设在遇到左大括号时创建一个新范围,并在遇到匹配的右大括号时关闭它。 如果在遇到右大括号之前出现解析错误,会发生什么情况?如何...
作者:SameemSh. 提问时间:6/25/2023
为什么要使用延迟锁定? 先获得所有权后锁定是什么? 获得所有权和锁定有点不一样。 如果我们使用互斥锁的唯一锁而不是锁定来获得所有权,它是否仍然容易出现竞争条件? void fun1(std::mu...