“操作符-->“在 C++ 中是什么意思

本文探讨了C++代码中看起来像操作符的`-->`其实是由`--`后自减操作符和比较操作符`>`组合而成。在提供的代码示例中,`while(x-->0)`实际上等价于`while((x--)>0)`,先执行自减再进行比较。这个知识点适用于理解C++中的运算符优先级和结合性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有人这么写了一个操作符–>,在 C++ 中是什么意思,提问原链接

问题

有这么一行代码,有这么一个看起来像操作符(operator)-->没看懂是啥意思,然后试了一下,在 Visual Studio 2008、G++ 4.4 和 gcc 上都可以编译通过,下面是代码:

#include <stdio.h>
int main()
{
    int x = 10;
    while (x --> 0) // x goes to 0
    {
        printf("%d ", x);
    }
}

回答如下

-->不是一个操作符(operator),实际上是两个操作符(operator)合在一起了,即-->

在上面那段代码中,因为--是后自减,所以执行的顺序就是:先x > 0,然后x--

说白了,上面的代码就等同于,

while( (x--) > 0 )

其实如果你把代码拷贝到 Visual Studio 上,这个问题很快就可以解决,因为代码会自动格式化为while (x-- > 0)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Cpp编程小茶馆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值