在赋值运算符上使用 post 修复运算符的 advantages/limitations 是什么?
What are the advantages/limitations of using a post fix operator over assignment operator?
我想知道 post 修复运算符在哪些方面优于赋值运算符。换句话说,使用其中一个的 advantages/limitations 是什么。
int a = 10;
a++;
//over
int a = 10;
a += 1;
谢谢。
起初,a++
和a--
比a += 1
和a -= 1
更容易写。
此外,假设您要执行一个方法并将 a
递增 1。
您的方法负责人:public static void doSomething(int smth)
然后您可以做几件事:(假设这些行是您的主要方法的一部分,也是 int a = 10;
您可以使用后缀运算符:
doSomething(a++);
//this will at first execute your method with a and then increment it by one
或者您可以使用更长的版本
doSomething(a);
a += 1; //possible too, but longer
还有 --a
和 ++a
会首先递增 a 然后将其交给方法或用它做其他事情。
后缀 ++
没有真正的技术限制,除了明显的限制:它可以 仅 递增 1 ... 而不是任何其他数字。当然,它对性能的影响为零。
这两种形式之间的另一个可能区别是可读性。在这种情况下,这是见仁见智的事情……我的意见是它们具有同等的可读性。
但是,如果您开始在更复杂的表达式中嵌入后缀和前缀递增/递减,那会严重损害代码的可读性;例如尝试弄清楚 a = a++;
的作用...
我想知道 post 修复运算符在哪些方面优于赋值运算符。换句话说,使用其中一个的 advantages/limitations 是什么。
int a = 10;
a++;
//over
int a = 10;
a += 1;
谢谢。
起初,a++
和a--
比a += 1
和a -= 1
更容易写。
此外,假设您要执行一个方法并将 a
递增 1。
您的方法负责人:public static void doSomething(int smth)
然后您可以做几件事:(假设这些行是您的主要方法的一部分,也是 int a = 10;
您可以使用后缀运算符:
doSomething(a++);
//this will at first execute your method with a and then increment it by one
或者您可以使用更长的版本
doSomething(a);
a += 1; //possible too, but longer
还有 --a
和 ++a
会首先递增 a 然后将其交给方法或用它做其他事情。
后缀 ++
没有真正的技术限制,除了明显的限制:它可以 仅 递增 1 ... 而不是任何其他数字。当然,它对性能的影响为零。
这两种形式之间的另一个可能区别是可读性。在这种情况下,这是见仁见智的事情……我的意见是它们具有同等的可读性。
但是,如果您开始在更复杂的表达式中嵌入后缀和前缀递增/递减,那会严重损害代码的可读性;例如尝试弄清楚 a = a++;
的作用...