【发布时间】:2025-12-13 23:15:01
【问题描述】:
来自 cppreference:
在上一个和下一个序列点之间,一个标量对象必须有 它的存储值最多修改一次由评估 表达式,否则行为未定义。
代码示例:
int a = store_and_return_value(&a);
对于 C 和 C++。
【问题讨论】:
-
@t.niese 如果可能的话,我想知道 C 和 C++ :)
-
2011年C++废除了序列点的概念,cppreference页面需要更新。我正在从这个问题中删除 C++ 标记,但可以随意添加一个新问题。
-
@Brian -- 序列点的概念没有被废除; 术语已更改。目的是保留以前应用的规则。
-
@PeteBecker 我同意这样做的目的是保留以前应用的规则,但这个概念也确实变成了更通用的规则。
-
@PatrickJoséPereira 回复:“i = i++ + 1 是 UB” 直到 C++17
标签: c