undefined-behavior

undefined-behavior

文章 0 浏览 7

引用相对于其目标的生命周期

为了阻止我最近给出的答案评论中的争论,我想要一些建设性的答案以下问题: 引用的生命周期是否与其所引用的对象不同?引用只是其目标的别名吗? 在格…

狂之美人 2025-01-06 12:35:05 3 0

分配变量时获取变量的地址合法吗?

我想做这样的事情: void* ptr = some_function(&ptr); 这在 C 中合法吗?…

爱本泡沫多脆弱 2025-01-06 07:29:19 2 0

for 循环中未定义的行为 - 表达式分离不应该使其定义明确吗?

我知道这个话题在 SO 上已经被打败了一点,但我仍然对下面显示的情况有点困惑 - 而且很多人似乎都同意这是正确的。 我知道如果没有中间序列点,您不能…

中性美 2025-01-06 03:24:55 3 0

C + C++ = 未定义的行为?

可能的重复: 我们如何解释表达式的结果 (++ x)+(++x)+(++x)? 未定义的行为和序列点 当代码 U = C + C++; 以不同的方式运行 时,我遇到了问题标准类…

柳若烟 2025-01-04 11:13:00 2 0

C中函数调用的默认参数

假设在一个文件中,我在同一项目的两个文件中有一些代码, file1.c int func1(int a, int b, int c, bool d) { /* function body */ } file2.c extern…

沙沙粒小 2025-01-03 19:38:21 4 0

我可以举一个现实生活中的例子,其中非静态成员函数不访问通过空指针调用的对象会导致可观察到的问题吗?

可能的重复: 何时调用空实例上的成员函数会导致未定义的行为? 类似这样的内容: class Class { public: void Method() { //empty; } }; Class* obj…

两人的回忆 2025-01-03 08:46:24 2 0

为什么这个简单的赋值是未定义的行为?

我正在刷新对值初始化与默认初始化的理解,并遇到了这个 : struct C { int x; int y; C () { } }; int main () { C c = C (); } 显然这是 UB 因为 就 …

败给现实 2025-01-03 03:04:19 2 0

放弃函数参数的常量是否是未定义行为?

想象一下,我有这个 C 函数(以及头文件中的相应原型), void clearstring(const char *data) { char *dst = (char *)data; *dst = 0; } 上面的代码…

月寒剑心 2025-01-01 17:19:56 9 0

为什么 Excel 将 `=10**-2` 翻译为 `=0.1`?

尝试将 =10**-2 粘贴到 MS Excel 的单元格中。按 Enter 后,将其变为 =0.1。我似乎找不到 ** 的任何文档,但它似乎是一个非常奇怪的类似指数的运算符…

琉璃梦幻 2025-01-01 00:48:38 4 0

序列点和评估顺序

我正在阅读 K&R,在评估像 a[i]=i++; 这样的表达式时,我遇到了这个关于行为不确定性的例子; 6.5.2 美元的 C99 规格说明了这一点 在上一个和下一个序…

不即不离 2024-12-29 18:01:45 5 0

为什么 a = a 的计算结果为零?

可能的重复: 为什么 a = a 在 Ruby 中是 nil? 在幽默的 闪电演讲 - Wat 由 Gary Bernhardt 提供,以下代码的计算结果为零: a = a #=> nil 但是除…

城歌 2024-12-29 09:56:12 5 0

表达式的定义行为

C99 标准表示为 6.5.2 美元。 在上一个和下一个序列点之间,对象应具有其存储值 通过表达式的求值最多修改一次。此外,先验值 应只读以确定要存储的值…

风月客 2024-12-29 09:48:43 6 0

C++ 中的整数溢出有多灾难性?

我只是想知道整数溢出到底有多灾难性。以下面的示例程序为例: #include int main() { int a = 46341; int b = a * a; std::cout << "hello world\n";…

2024-12-28 23:32:21 3 0

栈和堆的区别

请告诉我关于下面代码的堆栈和堆之间的区别 int main() { int arr[3]; int *a; arr [5] = 6; // out of bound but it will not give error. arr [3000…

不气馁 2024-12-28 16:08:18 6 0

这是 C++ 中未定义的行为吗?

我想知道下面最后一个 if 中对 x 的访问是否是未定义的行为: int f(int *x) { *x = 1; return 1; } int x = 0; if (f(&x) && x == 1) { // something…

殊姿 2024-12-26 17:48:32 4 0
更多

推荐作者

梦断已成空

文章 0 评论 0

瞎闹

文章 0 评论 0

寄意

文章 0 评论 0

似梦非梦

文章 0 评论 0

更多

友情链接

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