行为 问答列表

条件包含:字符常量的数值:在 #if/#elif 与不在 #if/#elif 范围内:为什么匹配是实现定义的?

作者:pmor 提问时间:2/1/2022

案例 A:C11,6.6 常量表达式,语义,5: 如果在翻译环境中计算浮动表达式,则算术范围和精度应至少与在执行中计算表达式一样大 环境。116) 这需要以下程序返回 0: #include <...

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

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

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

C - 使用 memset undefined 设置后读取 _Bool,是否定义了实现?

作者:Jesse 提问时间:3/18/2022

在 ISO 标准 C 中,我的理解是,没有什么可以真正确定_Bool的表示,但它确实说: “_Bool 足够大,可以容纳值 0 和 1” “当任何标量值转换为 _Bool 时,如果该值比较等于 0,...

什么是严格的混叠规则?

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

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

定义为实现定义行为的操作是否可以具有多种可能的执行?

作者:xmh0511 提问时间:7/11/2022

[conv.fpint] p2 说 如果要转换的值在可以表示的值范围内,但该值不能准确表示,则它是实现定义的下一个较低或较高可表示值的选择。 [intro.abstract] p2 说 在本文档...

什么是 MISRA C 中的源引用?

作者:Reza Bodaghi 提问时间:9/4/2022

在MISRA C文档中,有关于“源引用”的解释,并且有一个表,其行数为: 未指定、未定义、实施定义、特定于区域设置、MISRA 指南、K&R、Koenig 和 IEC 61508,并将这些作为源参考引...

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

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

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

C++ 中位字段的特征

作者:wimalopaan 提问时间:1/30/2023

https://en.cppreference.com/w/cpp/language/bit_field 读,以下结论正确吗? 相邻位域之间是否没有填充是由实现定义的(这在 https://eel....

C/C++ 中的位字段:什么是保证的,什么是实现定义的?

作者:wimalopaan 提问时间:1/30/2023

https://en.cppreference.com/w/c/language/bit_field 读,以下结论正确吗? 相邻的位域之间没有填充(这在 C 标准的 6.7.2.1 中似乎有所不同)...

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

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

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


共63条 当前第6页