50-C++递增递减运算符

  C++中有多个常被用在循环中的运算符,因此我们花一点时间来讨论它们。前面已经介绍了两个这样的运算符:递增运算符(++)(名称C++由此得到)和递减运算符(--)。这两个运算符执行两种及其常见的循环操作:将循环计数加1或减1。然而,它们还有很多特点不为读者所知。这两个运算符都有两种变体。前缀版本位于操作数前面,如++x;后缀版本位于操作数后面,如x--。

两个版本对操作数的影响是一样的,但是影响的时间不同。这就像对于钱包来说,清理草坪之前付钱和清理草坪之后付钱的最终结果是一样的,但支付钱的时间不同。下列程序演示递增运算符的这两种差别。

//plus_one.cpp —— the increment
#include<iostream>
int main()
{
    using namespace std;
    int a=20;
    int b=20;
    cout<<"a = "<<a<<": b= "<<b<<endl;
    cout<<"a++ = "<<a++<<": ++b = "<<++b<<endl;
    cout<<"a = "<<a<<": b = "<<b<<endl;
    return 0;
}

下面是该程序的输出:

粗略的将,a++意味着使用a的当前值计算表达式,然后将a的值加1;而++b的意思是先将b的值加1,然后使用新的值来计算表达式。例如,我们有下面这样的关系:

int x=5;

int y = ++x;//y = 6,x = 6

int z= 5;

int y=z++;//y = 5,z=6

递增和递减运算符是处理将值加减1这种常见任务的一种简约、方便的方法。

递增运算符和递减运算符都是漂亮的小型运算符,不过千万不要失去控制,在同一条语句对同一个值递增或递减多次。问题在于,规则“使用后修改”和“修改后使用”可能会变得模糊不清。也就是说,下面这条语句在不同的系统上将生成不同的结果:

x=2*x++*(3- ++x);//在自己的电脑上输出下看看哦,答案用于都是要以实践为基础的呢

对这种语句,C++没有定义正确的行为。

猜你喜欢

转载自blog.csdn.net/qq_41200424/article/details/82469685