undefined-behavior

undefined-behavior

文章 0 浏览 7

Break 是否在给定/何时(又名开关)之外定义了行为?

更新 正如 @M42 所指出的,明显的问题只是由于我的示例脚本中的拼写错误造成的。 eval 隐藏了由于在没有 given 的情况下进行 break 导致的错误。 $@中…

予囚 2024-12-26 06:20:19 4 0

根据 C++,该程序在哪个确切的语句中表现出未定义的行为?标准?

(我知道应该避免返回对函数局部变量的地址/引用,并且程序永远不应该这样做。) 返回对局部变量/引用的引用是否会导致未定义的行为?或者,未定义的…

夜光 2024-12-26 05:20:51 5 0

由于在序列点之间两次修改变量而导致的 UB 是否会延续到“内部”?范围?

以下内容具有未指定的结果,因为评估顺序未指定: std::string f() { std::cout << "f()"; return ""; } std::string g() { std::cout << "g()"; retu…

甚是思念 2024-12-22 20:06:30 3 0

虚拟析构函数和未定义的行为

这个问题与“何时/为什么我应该使用虚拟析构函数?”不同。 struct B { virtual void foo (); ~B() {} // <--- not virtual }; struct D : B { virtua…

养猫人 2024-12-22 16:05:00 5 0

Short* 到 int* 之间的转换

假设在 32 位操作系统上,short 为 2 个字节,int 为 4 个字节。以下是未定义的行为吗? short s = 42; int *p = (int*)(&s); …

隱形的亼 2024-12-21 14:48:08 3 0

初始化具有不确定值的对象

以下是否会调用未定义的行为? int x; int i = x; 参考C++03 (4.1/1) 如果左值引用的对象不是 T 类型的对象 并且不是从 T 派生的类型的对象,或者如果…

莫多说 2024-12-21 12:15:22 6 0

为什么 STL 数据结构需要完全定义的类型

在寻找这个问题的解决方案时,我发现了这个另一个论坛上的帖子,该帖子表示该标准要求 STL-Datastruct 的所有模板参数都必须完全定义。这意味着生成一…

余生一个溪 2024-12-20 16:06:02 5 0

左移和右移负整数定义行为吗?

我知道,右移负号类型取决于实现,但是如果我执行左移怎么办?例如: int i = -1; i << 1; 这个定义明确吗? 我认为标准没有提到带符号类型的负值 如…

机场等船 2024-12-19 18:17:48 6 0

堆分配的 const 对象与非 const 对象有何不同?

在 C++ 中,可以在堆上分配 const 对象: const Class* object = new const Class(); const_cast( object )->NonConstMethod(); // UB 这样尝试写入对…

━╋う一瞬間旳綻放 2024-12-19 08:08:56 7 0

反向迭代器(第一个元素之前的迭代器)和未定义的行为?

在处理指针时,指向末尾的指针(大部分)具有已定义的行为: int array[8]; int* x = array + 8; // Still considered pointing to part of array in …

时光匆匆的小流年 2024-12-18 05:24:18 7 0

std::map 属性 - C+标准要求?

你好,祝你有美好的一天。 标准 C++ std::map 类需要具有以下属性,这是真的吗(标准是否要求): 如果 Value 具有以下属性,则它可以工作没有 operat…

耶耶耶 2024-12-13 06:42:24 3 0

以下是未定义的行为吗?

以下是内联(在头文件内定义)静态成员函数。文字字符串“MyClass”是否始终保证位于静态内存中?如果不是,这不会返回堆栈中的指针吗? const char *…

浮光之海 2024-12-08 18:05:24 5 0

为什么使用 GCC 在 x86 上整数溢出会导致无限循环?

以下代码在 GCC 上进入无限循环: #include using namespace std; int main(){ int i = 0x10000000; int c = 0; do{ c++; i += i; cout << i << endl;…

So尛奶瓶 2024-12-08 17:51:46 5 0

清除已经为空的向量会导致未定义的行为吗?

如果我清除之前已清除的向量会发生什么? 我在 Visual Studio 中尝试了一下,没有导致任何运行时错误。但我正在寻找异常的可能原因(如下)并想知道这…

满栀 2024-12-06 17:32:29 6 0

在同一地址多次放置 new 是否定义明确/合法?

(注意:这个问题的动机是试图提出预处理器黑客技术来生成无操作分配来回答另一个问题: 接受新对象的宏 ...所以请记住这一点!) 这是一个人为的类:…

哆兒滾 2024-12-06 05:49:51 6 0
更多

推荐作者

梦断已成空

文章 0 评论 0

瞎闹

文章 0 评论 0

寄意

文章 0 评论 0

似梦非梦

文章 0 评论 0

更多

友情链接

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文