undefined-behavior 相关问题

编译或执行打破语言规则的程序的不可预测的结果,编译器,解释器和运行时系统都不得强制执行。

是否有一种故障安全方法来确定 C 中指针的对齐/尾随位?

在 C 语言中,如果一定数量的尾随位为零,则指针与特定对齐。这需要提取指针的位,尽管只有有限数量的尾随位。显而易见的方法...

回答 1 投票 0

const_cast 与可变和未定义的行为

#包括 结构体 Foo { Foo(const int a) : 总计(a) {} 整数索引 = 0; 常量整型总数; }; 结构栏{ 条形图(const int a) : 总计(a) {} 可变 int 索引...

回答 1 投票 0

写出边界矩阵

考试中的练习要求将执行以下程序后内存获得的值写在纸上。问题是,在这个程序中,我们正在访问未分配的内存......

回答 1 投票 0

函数不返回不是错误?

对于大多数主要编译器来说,gcc、clang、nvc 在编译以下代码时仅产生警告(可抑制的警告)的原因是什么。 #包括 int foo() { 返回 42; } ...

回答 1 投票 0

正在将原始指针的目标安全地移动到 Rust

我正在用 Rust 创建一个双向图,而父指针是 Rust 借用规则的一个明显问题,所以我使用了理论上安全的原始指针,因为父指针拥有子指针......

回答 1 投票 0

通过 const 指针而不是 const 引用传递临时值;这个解决方法格式正确吗?

所以显然,根据 C++ 标准,不能将 const 指针传递给临时变量作为函数的参数,而传递 const 引用则完全没问题,尽管两者都可以

回答 1 投票 0

“*s = 0”被优化掉。可能是 GCC 13 错误吗?或者一些未定义的行为?

使用 GCC 13.2,以下代码的输出取决于优化级别: #包括 #包括 char *SkipAName(char *s) { 如果((“A”<= *s && *s &l...

回答 1 投票 0

如果 func() 修改全局变量,int sum = func(1) + func(2) 是否会导致未定义的行为

受这篇SO帖子的启发,我想知道下面的代码片段是否会导致UB,因为add_func()和mul_func()都可以同时以未指定的顺序修改计数器: 整数计数器 = 0; 整数

回答 1 投票 0

在 C++14 中放置 new + reinterpret_cast:格式良好?

考虑以下 C++14 中的示例: alignas(T) 无符号字符数据[sizeof(T)]; 新(数据)T(); T* p = reinterpret_cast(数据); p->某事(); // 布? 这段代码合法吗?或者是

回答 1 投票 0

将无限值分配给整数类型是否具有未定义的行为?

C 标准指定了有限浮点值在存储为整数类型时如何转换,但似乎没有指定非有限值的行为: 6.3.1.4 真实浮动...

回答 1 投票 0

在 Copy 类型中使用 std::ptr::write_volatile 实现内部可变性的安全性(即没有 UnsafeCell)

我正在尝试在复制值类型中实现内部可变性(用于缓存目的)。 问题是,据我所知,没有任何类型可用于内部可变性(例如 UnsafeCel...

回答 1 投票 0

Rust:在“Copy”类型中使用“std::ptr::write_volatile”实现内部可变性的安全性(例如,没有“UnsafeCell”)

我正在尝试在复制值类型中实现内部可变性(用于缓存目的)。 问题是,据我所知,没有任何类型可用于内部可变性(例如 UnsafeCel...

回答 1 投票 0

Rust:在“Copy”类型中使用“std::ptr::write_volatile”实现内部多变性的安全性(例如,没有“UnsafeCell”)

我正在尝试在复制值类型中实现内部可变性(用于缓存目的)。 问题是,据我所知,没有任何类型可用于内部可变性(例如 UnsafeCel...

回答 1 投票 0

将基类实例向下转型为空子接口

我想知道将基子类向下转换为空接口子类的有效性。请参阅下面的示例。基本上我想以通用模板自由方式存储数据(从

回答 1 投票 0

创建 std::function 克隆时的未定义行为

我尝试实现 std::function 的克隆。为简单起见,我想创建一个类似 std::function 的类来处理 int(*)(int) 类型。 我面临复制构造函数的问题。当电话

回答 1 投票 0

C++ 将 int 转换为枚举,然后将该枚举读取为位字段安全与否?

#包括 #包括 #包括 #包括 使用命名空间 std; 枚举类 OrderFlags : uint16_t { 无 = 0, 买方 = 1, 更新音量...

回答 1 投票 0

当 x 是有符号整数并且 x=1 时,找到一个值 y,这样 (x < y) == (-x > -y) 将为 false?

问题问, 令 int x = 1,找到 int y 的值,其中以下语句将返回 false: (x < y) == (-x > -y) 我知道答案应该是 4 个字节长(8 个十六进制数字),但我...

回答 4 投票 0

在基类中保留内存以在派生类c++中使用

我正在编写一些低级抽象,用于通过 SPI 与某些芯片进行通信,并且我创建了寄存器抽象以避免棘手的位操作。我想我可以创建界面

回答 1 投票 0

是否将整数视为较小整数 UB 的数组?

是否将整数视为较小整数UB的数组? 比如这段代码中是否有UB: #包括 #包括 #include // 排序 无效排序字节...

回答 1 投票 0

指针到指针的reinterpret_cast - 这是未定义的行为吗?

我们需要将int**强制转换为void**,可以使用reinterpret_cast。然而,它在技术上是 C++ 标准允许的,还是我们处于未定义行为领域? 使用案例 使用 Nvidia 时

回答 1 投票 0

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