只是有一个有趣的想法。在C#和Java之类的语言中,我知道在进行增量和减量时,您可以进行发布,也可以进行预增/减。像这样:
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
但是,我想知道是否有这样的事情可以做这样的事情:
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
只是很感兴趣,并不真正知道在哪里或如何寻找答案,所以想知道SO上是否有人会对此有所了解。谢谢!
编辑:在评论中添加了我的问题
a += 5
和a =+
5到底在哪里定义?我从未见过使用第二个。它是否存在...?他们会编译成相同的东西吗? 最佳答案
在过去,C语言提供了此语法,作为在变量中添加或减去值的快捷方式。
a =+ 5;
b =- 5;
但是在C语言的早期,dmr(祝福内存)和ken弃用了该语法,而支持
a += 5;
b -= 5;
出于完全相同的目的,因为编写
b=-5
太容易了,这意味着它与b -= 5
完全不同。这位“经验丰富”的程序员记得重写一堆代码以匹配新的语言规范。因此,在这些构造中从来没有像
a++
或--b
中那样具有前递增或后递增语义。