Blu*_*ire 4 javascript c++ java language-agnostic operators
可能重复:
C++中的增量 - 何时使用x ++或++ x?
我已经看过像循环中i++常用的东西for.但是当人们使用--而不是++出于某种原因,有些人倾向于写作--i而不是i--.
上次我检查时,它们都工作(至少在JavaScript中).谁能告诉我,如果是这样的话在其他C家族语言,如果是,为什么有些人喜欢--i来i--?
Ion*_*zău 12
++i比...更快i++.为什么?请参阅简单说明.
i++ 将增加i的值,但返回预先递增的值.
temp = ii 增加temp 退回例:
i = 1;
j = i++;
(i is 2, j is 1)
Run Code Online (Sandbox Code Playgroud)
++i 将增加i的值,然后返回递增的值.
例:
i = 1;
j = ++i;
(i is 2, j is 2)
Run Code Online (Sandbox Code Playgroud)
这是--i和的相似之处i--.
我不相信prefix(++i)与postfix(i++)的偏好取决于它是增量还是减量.
至于为什么,我更喜欢可能的前缀,因为我的母语是英语,主要是一个动词前对象结构("吃晚餐","开车"),所以"增量i"或"减量i"更自然我比" i减量".当然,如果我使用结果,我很乐意使用postfix,我需要在表达式中增加之前的值(而不是递增的值).
历史上,递增/递减运算符由堆栈管理激励.当你在堆栈上推送一个元素时:
*(stackptr++) = value
Run Code Online (Sandbox Code Playgroud)
当你弹出:
value = *(--stackptr)
Run Code Online (Sandbox Code Playgroud)
(这些被转换为单个ASM指令)
因此,人们习惯于在之前和之后递增.
您可以在填写直接和反向顺序时看到另一个惯用示例:
for (p=begin;p!=end;)
*(p++) = 42;
for (p=end;p!=begin;)
*(--p) = 42;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
470 次 |
| 最近记录: |