定义行为 问答列表

不带 malloc 的链表 [duplicate]

作者:Anh Duc Nguyen 提问时间:11/9/2023

这个问题在这里已经有答案了: 是否可以在其范围之外访问局部变量的内存? (21 个答案) 10天前关闭。 我自己也开始学习 C,根据《Programming in C (4th Edition)》一...

写出边界矩阵

作者:MRn0b0dy 提问时间:11/14/2023

考试中的练习需要在纸上写下执行以下程序后记忆获得的值。问题是在这个程序中,当 for 循环到达元素 3 时,我们正在访问未分配的内存。写入未分配内存的值是实际存储的还是未定义的行为,因此不写入它是正确...

源文件字符的 C++ 阶段 1 转换集:C++ 之前与之后、C++23 之前

作者:mishar 提问时间:11/16/2023

cppreference的翻译阶段页面,对于翻译的第一阶段(C++23之前),在其步骤2中有一个注释。那: 接受的源文件字符集是实现定义的(从 C++11 开始) 这在规范的工作草案中也得到了回应...

为整数类型分配无限值是否具有未定义的行为?

作者:chqrlie 提问时间:10/29/2023

C 标准规定了有限浮点值在存储为整数类型时如何转换它们,但它似乎没有指定非有限值的行为: 6.3.1.4 实浮点数和整数 1 当标准浮点型的有限值转换为 以外的整数类型时,小数部分将被丢弃(即,该...

当 dtor 不是虚拟的时,为什么 shared_ptr 和 unique_ptr 有不同的行为?

作者:josh chatham 提问时间:11/17/2023

所以,我知道不使多态类析构函数虚拟会导致未定义的行为,而正确的解决方法是使它们成为虚拟的。话虽如此,为什么shared_ptr在破坏时“拯救”你?(我在 RHEL 8 上使用 gcc/g++) cl...

有没有一种故障安全方法可以确定 C 中指针的对齐/尾随位?

作者:user16217248 提问时间:11/16/2023

在 C 中,如果一定数量的尾随位为零,则指针与某个指针对齐。这需要提取指针的位,尽管只是有限数量的尾随位。显而易见的方法是强制转换指向位掩码的指针并使用位掩码:uintptr_t void *my_...

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

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

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

使用向后移植的代码扩展 std 命名空间

作者:AMA 提问时间:2/8/2018

一些背景: 扩展是未定义行为 (UB),除非它是模板专业化 [1]:namespace std 向其添加声明或定义是未定义的行为 命名空间 std 或嵌套在 std 中的任何命名空间,有几个 例外...

使用复制构造函数创建对象(三类的简单规则)会产生运行时错误

作者:KeyC0de 提问时间:9/2/2019

我有下面的简单程序: #include <iostream> class Counter { private: size_t m_count; public: Counter() : m_c...

访问不活跃的工会成员和未定义的行为?

作者:Luchian Grigore 提问时间:7/7/2012

我的印象是访问最后一个集合以外的成员是 UB,但我似乎找不到可靠的参考(除了声称它是 UB 但没有标准支持的任何答案)。union 那么,这是未定义的行为吗?...


共50条 当前第3页