未定义的行为和重新加载的序列点
作者:Nawaz 提问时间:1/9/2011
将本主题视为以下主题的续集: 上一期 未定义的行为和序列点 让我们重温一下这个有趣而复杂的表达方式(斜体短语取自上面的主题*微笑*): i += ++i; 我们说这调用了未定义的行为。我假设...
定义行为 问答列表
作者:Nawaz 提问时间:1/9/2011
将本主题视为以下主题的续集: 上一期 未定义的行为和序列点 让我们重温一下这个有趣而复杂的表达方式(斜体短语取自上面的主题*微笑*): i += ++i; 我们说这调用了未定义的行为。我假设...
作者:Hemant 提问时间:3/17/2021
在 C 语言中,我从控制台读取地址并将其存储在变量中。 我需要以十六进制 (0x...) 格式记录地址。 我有 2 个选择: %p %x 我尝试了选项 2 (%x)。它在 32 位和 64 位平...
作者:skk 提问时间:4/17/2021
这个问题在这里已经有答案了: 为什么“while( !feof(file) )”总是错的? (6 个答案) 2年前关闭。 我编写了逐行读取文件(argv1)的c程序 我的文本文件是这样的: 这是...
作者:Dan 提问时间:5/30/2021
#include <limits.h> int main(){ int a = UINT_MAX; return 0; } 我这个UB或实现定义了吗? 链接说它的UB https://...
作者:einpoklum 提问时间:8/2/2021
请考虑以下 C 程序: #include <limits.h> int main() { int x = INT_MIN; int y = -x; return y; } 该程序具有未定...
作者:0dminnimda 提问时间:8/6/2021
看到这些问题的答案(这个和这个)谈论 C,我无法将这些知识扩展到 C++,所以这不是重复,而是澄清。 更新:我只是在谈论 C++。如果某物是用 C 语言定义的,这并不意味着它是用 C++ 定义的,反...
作者:Ronen 提问时间:1/27/2022
我听到了这么多相互矛盾的答案,现在我不知道该怎么想。 公认的知识是,为了在 C++ 中以线程安全的方式共享内存,需要将 volatile 与 std::mutex 一起使用。 基于这种理解,我一直在...
作者:Masquue 提问时间:2/25/2022
当源值无法在目标类型中表示时,将整数转换为有符号类型是根据 cppreference 实现定义(直到 C++20) 目标类型的唯一值等于源值模 2^n,其中 n 是用于表示目标类型的位数(自 C++...
作者:wimalopaan 提问时间:8/23/2023
以下代码 int main() { while(true); } 是 C++ 中的 UB。但这是 MCU 编程中的常见做法:存在一个无休止的循环,所有工作都在 ISR(中断服务例程)中完成。m...
作者:Benoit 提问时间:9/19/2008
当被问及 C 语言中常见的未定义行为时,人们有时会提到严格的别名规则。 他们在说什么?...