Undefined-Behavior 问答列表

为什么 -fsanitize=undefined 不接受(我认为是)UB?

作者:doliphin 提问时间:8/28/2023

auto vec = std::vector<int>({1, 2, 3}); std::cout << *vec.end() << std::endl; 这里有一些我认为是UB的简单代码。但是,...

无条件创建指向向量最后一个元素的指针是否合法?

作者:eyelash 提问时间:9/6/2023

我有以下 C++ 代码: void bar(int&); void baz(); void foo(std::vector<int>& v) { int* pointer_to_last = v...

与 C 相比,无休止循环在 C++ 中没有副作用的好处是未定义的行为?

作者:wimalopaan 提问时间:8/23/2023

在 C++ 循环中,作为 for(;;) {} 是未定义的行为,而它们不在 C(?) 中。 在P2809R0。琐碎的无限循环不是未定义的行为,它表示这样做是有充分理由的。有没有简单的例子可以说...

为什么这些构造使用增量前和增量后未定义的行为?

作者:PiX 提问时间:6/4/2009

#include <stdio.h> int main(void) { int i = 0; i = i++ + ++i; printf("%d\n", i); // 3 i = 1; ...

在 Fenwick 树/二进制索引树 (BIT) 中计算索引

作者:mbang 提问时间:8/19/2023

Fenwick 树数据结构需要一个成员函数。对于一个索引,必须计算几个索引 , , , ..., .每个值都是将 i 最低有效非零位设置为 0 时产生的值。readidxreadidx[0]idx[1...

两个指针错误:每当我使用 while(left&lt;=right) 时,它都会出现错误,但是当我删除等号时,它可以正常工作

作者:Jeet Majumdar 提问时间:8/18/2023

vector<int> v{-10,-7,-3,2,5,6}, v1(6); int left = 0; int right = 5; int i=0; while (left<=right)...

过早输入会导致故障吗?

作者:Riemann 提问时间:7/30/2023

假设我的 Python 代码如下所示: While(True): Var = input() Do something 我注意到,当我从 Windows 提示符运行它时,我可以在仍在运行时提...

在自身之上构造对象 [复制]

作者:Dr. Gut 提问时间:5/31/2023

这个问题在这里已经有答案了: 使用特殊复制赋值运算符而不是简单的析构函数和就地构造函数的原因 (2 个答案) 6个月前关闭。 在 C++ 中,您可以通过销毁然后重新创建另一个相同类型的对象来重用对象...

C++ 删除 - 它删除了我的对象,但我仍然可以访问数据?

作者:Ash 提问时间:12/19/2009

我编写了一个简单的、有效的俄罗斯方块游戏,每个方块都作为类 singleblock 的实例。 class SingleBlock { public: SingleBlock(int, int);...

初始或末端 malloc 缓冲液可能吗?

作者:Sasha 提问时间:10/7/2023

假设我执行以下操作: size_t length = 1000; char* p = malloc(length); 然后我想遍历这些元素,所以最基本的是: for (size_t i = 0...


共24条 当前第2页