行为 问答列表

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

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

保持对局部变量的常量引用是 UB 吗?

作者:Juliean 提问时间:11/5/2021

在编译启用代码优化(准确地说是 MSVC)时,我遇到了多个问题。实际情况是大型代码库的一部分,需要复杂的设置才能复制,但本质上可以归结为以下结构: struct VariableView { co...

C++程序员应该知道的所有常见未定义行为是什么?[关闭]

作者:yesraaj 提问时间:12/15/2008

很难说这里问的是什么。这个问题含糊不清、含糊不清、不完整、过于宽泛或修辞,无法以目前的形式合理回答。如需帮助澄清此问题以便重新打开该问题,请访问帮助中心。 10年前关闭。 已锁定。这个问题及其答案被锁...

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

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

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

我可以获取标准库中定义的函数的地址吗?

作者:L. F. 提问时间:4/15/2019

请考虑以下代码: #include <cctype> #include <functional> #include <iostream> int main() { std::invoke(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 那么,这是未定义的行为吗?...

使用 DataAnnotation 在 Xamarin 中进行验证

作者:Safi Mustafa 提问时间:2/27/2018

我正在尝试在Xamarin中添加验证。为此,我将这篇文章用作参考点:使用数据注释进行验证。以下是我的行为。 public class EntryValidationBehavior : Behavi...


共63条 当前第4页