未定义行为 问答列表

在 NULL 指针上调用函数是否未定义?[复制]

作者:Luchian Grigore 提问时间:2/29/2012

这个问题在这里已经有答案了: 11年前关闭。 可能的重复: 何时在 null 实例上调用成员函数会导致未定义的行为? C++ 标准:取消引用 NULL 指针以获取引用? 假设我有这个班级: cl...

什么是序列点,它们与未定义的行为有何关系?

作者: 提问时间:11/14/2010

什么是“序列点”? 未定义行为和序列点之间有什么关系? 我经常使用有趣而复杂的表达方式,比如,让自己感觉更好。我为什么要停止使用它们?a[++i] = i; 如果您已阅读本文,请务必访问后续问题...

如果 C 编译器不能证明缺少 UB,为什么禁止优化?

作者:Joshua 提问时间:9/19/2023

如果 C 程序具有未定义的行为,则任何事情都可能发生。因此,编译器可以假定任何给定的程序都不包含 UB。因此,假设我们的程序包含以下内容: x += 5; /* Do something else ...

MCU C++ 程序具有无休止的循环,没有副作用 UB?

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

以下代码 int main() { while(true); } 是 C++ 中的 UB。但这是 MCU 编程中的常见做法:存在一个无休止的循环,所有工作都在 ISR(中断服务例程)中完成。m...

立即初始化变量在 C++ 中很重要

作者:just Impartial 提问时间:7/5/2023

我最近读了一本编程书。它说如果我们在初始化变量时没有给出值,如下例所示: int i; int i {0}; ...那么它有时可能会导致运行时错误。但是,我不确定这是否正确。未初始化的变量会设置...

“*this = {}”在成员函数中是否有效,以便在 CPP 中重置

作者:cadam 提问时间:6/22/2023

最近,我不高兴地发现,每次我必须为对象创建“重置”函数时,我经常会重现构造函数的行为。 例: class Foo { int i; public: Foo() : i(42) {}; voi...

使用不可复制和不可移动类型时出现意外的 memcpy co_await

作者:Lukas Lang 提问时间:6/9/2023

序言 这是对我尝试使用代码执行的操作的描述,请跳到下一节以查看实际问题。 我想在嵌入式系统中使用协程,因为在嵌入式系统中,我负担不起太多的动态分配。因此,我正在尝试以下操作:我有不可复制、不可移动...

printf 命令在我的程序中的特定点后不起作用

作者:Robert Westmeyer 提问时间:4/3/2023

我正在开发一个包含 365 个数据点的 2D 数组的程序,我们需要做的一件事就是找到数据的平均值并将其打印到文件和命令窗口中。 #include <stdio.h> #include <math....

C++ 范围问题?[复制]

作者:Alex 提问时间:2/8/2023

这个问题在这里已经有答案了: 什么是悬空指针? (8 个答案) 10个月前关闭。 我正在尝试交换指针以指向在方法中创建的新类实例的地址,但是一旦返回 main,引用就会丢失,这是因为范围吗?有人可以...

使用枚举类来标记未定义的行为吗?

作者:GLJeff 提问时间:1/2/2023

我一直在使用重载运算符,如这里的第二个答案所示:如何使用 C++11 枚举类作为标志......例: #define ENUMFLAGOPS(EnumName)\ [[nodiscard]] __f...


共35条 当前第3页