定义行为 问答列表

未定义的行为和重新加载的序列点

作者:Nawaz 提问时间:1/9/2011

将本主题视为以下主题的续集: 上一期 未定义的行为和序列点 让我们重温一下这个有趣而复杂的表达方式(斜体短语取自上面的主题*微笑*): i += ++i; 我们说这调用了未定义的行为。我假设...

是否有任何情况 %p 格式说明符不会在 0x 中打印地址。.格式

作者:Hemant 提问时间:3/17/2021

在 C 语言中,我从控制台读取地址并将其存储在变量中。 我需要以十六进制 (0x...) 格式记录地址。 我有 2 个选择: %p %x 我尝试了选项 2 (%x)。它在 32 位和 64 位平...

在 C 中再次循环 [duplicate]

作者: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://...

难道不应该警告我 -INT_MIN 的未定义行为吗?

作者:einpoklum 提问时间:8/2/2021

请考虑以下 C 程序: #include <limits.h> int main() { int x = INT_MIN; int y = -x; return y; } 该程序具有未定...

xor 可以在 C++ 中拥有 UB/IB 吗?

作者:0dminnimda 提问时间:8/6/2021

看到这些问题的答案(这个和这个)谈论 C,我无法将这些知识扩展到 C++,所以这不是重复,而是澄清。 更新:我只是在谈论 C++。如果某物是用 C 语言定义的,这并不意味着它是用 C++ 定义的,反...

std::condition_variable 的布尔谓词是否应该在 C++ 中是可变的?

作者:Ronen 提问时间:1/27/2022

我听到了这么多相互矛盾的答案,现在我不知道该怎么想。 公认的知识是,为了在 C++ 中以线程安全的方式共享内存,需要将 volatile 与 std::mutex 一起使用。 基于这种理解,我一直在...

超出范围时转换为有符号类型行为

作者:Masquue 提问时间:2/25/2022

当源值无法在目标类型中表示时,将整数转换为有符号类型是根据 cppreference 实现定义(直到 C++20) 目标类型的唯一值等于源值模 2^n,其中 n 是用于表示目标类型的位数(自 C++...

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

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

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

什么是严格的混叠规则?

作者:Benoit 提问时间:9/19/2008

当被问及 C 语言中常见的未定义行为时,人们有时会提到严格的别名规则。 他们在说什么?...


共50条 当前第4页