刚刚有一个有趣的想法。在像 C# 和 Java 这样的语言中,我知道在递增和递减的时候,你可以做一个 post,或者 pre-increment/decrement。像这样:
int a = 5;
Console.WriteLine(a++); // Would print out 5,
// And then increment a to 6
Console.WriteLine(++a); // Would then print out 7 because
// it increments a before printing it out
Run Code Online (Sandbox Code Playgroud)
但是,我想知道是否有这样的事情可以做这样的事情:
int a = 5;
Console.WriteLine(a += 5); // Would print out 5,
// And then increment a to 10
Console.WriteLine(a =+ 5); // (Or something along those lines)
// To print out 15 at this point
Run Code Online (Sandbox Code Playgroud)
只是感兴趣,并不真正知道在哪里或如何寻找答案,所以想知道 SO 上是否有人会对此有更多了解。谢谢!
编辑:从评论中添加了我的问题
a += 5
和a =+
5究竟在哪里定义?我从未见过使用第二个。真的存在吗……?他们编译成同样的东西吗?
过去,C 语言提供此语法作为从变量中添加或减去值的快捷方式。
a =+ 5;
b =- 5;
Run Code Online (Sandbox Code Playgroud)
但在 C 语言诞生的早期,dmr(有福的记忆力)和ken不赞成使用这种语法,转而采用
a += 5;
b -= 5;
Run Code Online (Sandbox Code Playgroud)
出于完全相同的目的,因为它太容易编写,b=-5
这意味着与b -= 5
. 这位“经验丰富”的程序员记得重写了一堆代码以匹配新的语言规范。
因此,在这些结构中从来没有像 ina++
或那样的前增量或后增量语义--b
。
归档时间: |
|
查看次数: |
3468 次 |
最近记录: |