sequence-points

sequence-points

文章 0 浏览 5

这段代码定义明确吗?

此代码取自此处的讨论。 someInstance.Fun(++k).Gun(10).Sun(k).Tun(); 这段代码定义明确吗? Fun() 中的 ++k 是否先于 Sun() 中的 k 计算? 如果 k …

救赎№ 2024-10-12 01:24:36 12 0

未定义的行为和重新加载的序列点

将此主题视为以下主题的续集: 上一期 未定义的行为和序列点 让我们重温一下这个有趣和令人费解的事情 表达式(斜体短语取自上述主题 *smile* ): i …

把人绕傻吧 2024-10-11 05:46:21 13 0

可以 C/C++编译器通过 pthread 库调用合法地将变量缓存在寄存器中?

假设我们有以下代码: #include #include #include void guarantee(bool cond, const char *msg) { if (!cond) { fprintf(stderr, "%s", msg); exit(1…

七颜 2024-10-07 21:27:32 9 0

为什么赋值运算符不是序列点有什么充分的理由吗?

operator = 不作为序列点有什么充分的理由吗?在 C 和 C++ 中都是如此。 我很难思考反例。…

思慕 2024-10-06 08:09:30 16 0

C++ 中的序列点和例外情况

编译器可以在 C++ 中重新排序变量设置和 throw() 操作吗?或者,标准 C++ 14882-1998 是否允许或禁止编译器进行此转换? 对于代码: bool funct() { b…

千と千尋 2024-10-06 07:03:32 9 0

是 (++i)++未定义的行为?

(++i)++ 是未定义的行为吗?前缀增量的副作用是否可能在检索增量对象以进行后缀增量操作后发生?这对我来说似乎很奇怪。 我的直觉告诉我,这在 C++03 …

戏剧牡丹亭 2024-10-05 16:18:35 13 0

什么是序列点,它们与未定义的行为有何关系?

什么是“序列点”? 未定义行为和序列点之间有什么关系? 我经常使用诸如a[++i] = i;之类有趣且令人费解的表达方式,让自己感觉好一点。我为什么要停…

娇纵 2024-10-02 16:58:57 9 0

什么是序列点,它们与未定义的行为有何关系?

什么是“序列点”? 未定义行为和序列点之间有什么关系? 我经常使用诸如a[++i] = i;之类有趣且令人费解的表达方式,让自己感觉好一点。我为什么要停…

街角迷惘 2024-10-02 12:26:01 10 0

关于序列点的解释

最近,我看到很多关于一些疯狂但语法上允许的代码语句的输出的问题,例如 i = ++i + 1 和 i=(i,i++,i) +1;。 坦率地说,现实中几乎没有人在实际编程…

拥抱没勇气 2024-09-30 23:05:16 8 0

是“int i = x++, j = x++;”吗?合法的?

我认为标题已经说得很清楚了。我对此并不完全确定,而且我无法通过谷歌找到一个好的答案(唉,我还没有致力于标准符的艺术),所以我问: int i = x++…

忆依然 2024-09-30 03:15:23 10 0

在 C99 中,f()+g() 是未定义还是只是未指定?

我曾经认为在C99中,即使函数f和g的副作用干扰,并且虽然表达式f() + g() 不包含序列点,f 和 g 将包含一些序列点,因此行为将是未指定的:f() 将在 g…

妥活 2024-09-27 23:15:21 13 0

关于循环缓冲区中简洁索引处理的建议

我已经实现了一个循环缓冲区,并且我想要一种简洁的方法来更新缓冲区指针,同时正确处理环绕。 假设数组大小为 10,我的第一反应类似于: size_t ptr …

初懵 2024-09-26 16:01:29 9 0

涉及逻辑 AND (&&) 的复杂表达式

void main(void) { int x,y,z; x=y=z=1; z = x && y && ++z;//is this fine? } 我最近开始阅读有关序列点的内容,但我无法确定上面的代码示例是否正确…

清晰传感 2024-09-25 21:24:49 7 0

未排序的值计算(也称为序列点)

抱歉再次打开这个主题,但是思考这个主题本身已经开始给我一种未定义的行为。想要进入行为明确的区域。 鉴于 int i = 0; int v[10]; i = ++i; //Expr1…

皓月长歌 2024-09-25 19:10:12 14 0

该程序是否有任何序列点问题?

#include int main() { int i=7,j; j=(i++,++i,j*i); return 0; } j=(i++,++i,j*i);这个定义明确吗?让我澄清一下我的疑问。…

也只是曾经 2024-09-16 16:17:23 7 0
更多

推荐作者

饮湿

文章 0 评论 0

明月

文章 0 评论 0

02

文章 0 评论 0

hs1283

文章 0 评论 0

风向决定发型

文章 0 评论 0

落花浅忆

文章 0 评论 0

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