不带 malloc 的链表 [duplicate]
作者:Anh Duc Nguyen 提问时间:11/9/2023
这个问题在这里已经有答案了: 是否可以在其范围之外访问局部变量的内存? (21 个答案) 10天前关闭。 我自己也开始学习 C,根据《Programming in C (4th Edition)》一...
定义行为 问答列表
作者:Anh Duc Nguyen 提问时间:11/9/2023
这个问题在这里已经有答案了: 是否可以在其范围之外访问局部变量的内存? (21 个答案) 10天前关闭。 我自己也开始学习 C,根据《Programming in C (4th Edition)》一...
作者:MRn0b0dy 提问时间:11/14/2023
考试中的练习需要在纸上写下执行以下程序后记忆获得的值。问题是在这个程序中,当 for 循环到达元素 3 时,我们正在访问未分配的内存。写入未分配内存的值是实际存储的还是未定义的行为,因此不写入它是正确...
作者:mishar 提问时间:11/16/2023
cppreference的翻译阶段页面,对于翻译的第一阶段(C++23之前),在其步骤2中有一个注释。那: 接受的源文件字符集是实现定义的(从 C++11 开始) 这在规范的工作草案中也得到了回应...
作者:chqrlie 提问时间:10/29/2023
C 标准规定了有限浮点值在存储为整数类型时如何转换它们,但它似乎没有指定非有限值的行为: 6.3.1.4 实浮点数和整数 1 当标准浮点型的有限值转换为 以外的整数类型时,小数部分将被丢弃(即,该...
作者:josh chatham 提问时间:11/17/2023
所以,我知道不使多态类析构函数虚拟会导致未定义的行为,而正确的解决方法是使它们成为虚拟的。话虽如此,为什么shared_ptr在破坏时“拯救”你?(我在 RHEL 8 上使用 gcc/g++) cl...
作者:user16217248 提问时间:11/16/2023
在 C 中,如果一定数量的尾随位为零,则指针与某个指针对齐。这需要提取指针的位,尽管只是有限数量的尾随位。显而易见的方法是强制转换指向位掩码的指针并使用位掩码:uintptr_t void *my_...
作者:Jesse 提问时间:3/18/2022
在 ISO 标准 C 中,我的理解是,没有什么可以真正确定_Bool的表示,但它确实说: “_Bool 足够大,可以容纳值 0 和 1” “当任何标量值转换为 _Bool 时,如果该值比较等于 0,...
作者: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 那么,这是未定义的行为吗?...