Python
Java
PHP
IOS
Android
Nodejs
JavaScript
Html5
Windows
Ubuntu
Linux
对“i”的操作可能是未定义的[重复]
这个问题在这里已经有答案了 我有这段代码来获取以下形式的字符串bla 2并将其分开 void separate char str char word int n int i 0 while str i word i str i n str
c
undefinedbehavior
sequencepoints
C中的副作用是什么?
维基百科说 在计算机科学中 一个操作 函数或表达式被认为具有副作用如果它在其本地环境之外修改某些状态变量值 也就是说 除了向操作的调用者返回一个值 主要效果 之外 还具有可观察到的效果 但是我们如何访问本地环境之外的变量 任何人都可以解释这
c
scope
sideeffects
sequencepoints
为什么我在 C++ 的语句表达式中得到“操作可能未定义”?
为了简单描述问题 请看下面的代码 int main int a 123 if a a 0 return 0 我从 Wsequence point 收到此警告 Line 4 warning operation on a may be unde
c
Expression
sequencepoints
变量列表中的逗号是序列点吗?
在以下类型的代码中 每个变量构造之间是否存在序列点 或者结果未定义 int a 0 int b a c a 我无法在标准中找到对此处序列点的具体引用 这是否意味着它未定义 或者只是我的搜索失败了 表达式的完成是一个序列点 但是上面的初始化也
c
variables
commaoperator
sequencepoints
*&++i 是否会导致 C++03 中的未定义行为?
In 另一个答案 https stackoverflow com a 17400329 1505939据说在 C 11 之前 其中i is an int 然后使用表达式 i 导致未定义的行为 这是真的 关于另一个答案 评论中有一些讨论 但似
c
languagelawyer
undefinedbehavior
c03
sequencepoints
int a=1, b=a++; 是否调用未定义的行为?
Does int a 1 b a 调用未定义的行为 初始化之间没有序列点介入a及其在初始化程序中的访问和修改b 但据我所知 初始化不是对象的 修改 指定初始值设定项来给出对象的 初始值 根据 6 7 8 初始化 第 8 段 初始化器指定存储
c
languagelawyer
undefinedbehavior
sequencepoints
标准 C++11 是否保证传递给函数的临时对象将在函数调用之前创建?
标准 C 11 是否保证在开始执行该函数之前已创建所有 3 个临时对象 即使临时对象传递为 object 右值引用 仅传递临时对象的成员 http ideone com EV0hSP http ideone com EV0hSP inclu
c
C11
standards
lazysequences
sequencepoints
这段代码定义明确吗?
这段代码取自正在进行的讨论here https stackoverflow com questions 4638364 undefined behavior and sequence points reloaded 4638718 4638
c
operatorprecedence
sequencepoints
在 C 中调用函数时的序列点和未定义/未指定的行为
我试图确定我对 C 中序列点的理解 只是想检查一些东西 目前 我认为 1 是未定义的 而 2 只是未指定的 因为在 2 中 在评估参数后存在序列点g and h 所以我们不修改i序列点之间两次 但是参数的求值顺序f仍然未指定 我的理解正确吗
v != std::exchange(v, previous(v)) 中的求值顺序
我一直在寻找更多适合的习语std exchange 今天我发现自己写这个 https stackoverflow com a 74600853 85371在一个答案中 do path push front v while v std exc
c
languagelawyer
sequencepoints
关于序列点的解释
最近 我看到很多关于一些疯狂但语法上允许的代码语句的输出的问题 例如i i 1 and i i i i 1 坦率地说 现实中几乎没有人在实际编程中编写任何此类代码 坦白说 在我的专业经验中 我从未遇到过此类代码 所以我通常最终会跳过这样的问
c
sequencepoints
c中的序列点
命令式编程中的序列点定义了计算机程序执行中的任何点 在该点处保证先前评估的所有副作用都已执行 并且尚未执行后续评估的任何副作用 这是什么意思 有人可以用简单的话解释一下吗 当序列点发生时 基本上意味着您可以保证之前的所有操作都已完成 在没有
c
sequencepoints
变量扩展之间的排序
对于这个非变量示例 int Func1 double Func2 void MyFunc int double int main MyFunc Func1 Func2 没有指定是否Func1 or Func2 首先计算 只是两者都必须在之前
c
C11
variadictemplates
variadicfunctions
sequencepoints
java中的序列点
以下java代码是否有保证的执行顺序 int i getA getB Is getA 总是在之前执行getB 正如任何普通人所期望的那样 是的 来自 JLS 第 15 7 节 Java 编程语言保证运算符的操作数似乎按特定的求值顺序 即从左
Java
sequencepoints
未排序的值计算(也称为序列点)
抱歉再次打开这个主题 但是思考这个主题本身已经开始给我一种未定义的行为 想要进入行为明确的区域 Given int i 0 int v 10 i i Expr1 i i Expr2 i Expr3 i v i Expr4 我认为上述表达式
c
languagelawyer
sideeffects
sequencepoints
用 XOR 交换值 [重复]
这个问题在这里已经有答案了 这两个宏有什么区别 define swap a b a b a b a b Or define swap a b a b b a b a b 我看到第二个宏here但不明白为什么它不像第一个那样写 有什么特殊原因
c
BitManipulation
SWAP
undefinedbehavior
sequencepoints
赋值和序列点:这怎么有歧义?
考虑 C 代码a a a 没有用于赋值的序列点 因此此代码在编译有关未定义操作的警告时会产生警告a 可能的值是什么a这里可以有吗 这好像是a不可能改变价值观 这里实际上是否存在未定义的行为 或者编译器只是懒惰 序列点违规的未定义行为规则对于
c
compilerconstruction
sequencepoints
C/C++ 编译器可以通过 pthread 库调用合法地将变量缓存在寄存器中吗?
假设我们有以下代码 include
c
concurrency
standards
sequencepoints
未定义的行为,或者:Swift 有序列点吗?
在 C C 中 第二条语句 int i 0 int j i i i 调用两者 未指定的行为 因为操作数的求值顺序 未指定 并且 未定义的行为 因为对同一个对象的副作用i彼此之间是无序的 参见示例 为什么这些构造 使用 是未定义的行为 未定义
swift
undefinedbehavior
sequencepoints
为什么这是未定义的行为?
为什么以下给定表达式会调用未定义的行为 int i 5 i i i i 1 我的问题受到Als的影响在这里提问 它不是未定义的 在这里回答C 序列点和偏序 我认为这同样适用于 C 这是我在看到该链接之前的回复 逗号运算符引入了一个序列点 并
c
undefinedbehavior
sequencepoints
1
2
»