首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >C/C++中的"-->“运算符是什么?

C/C++中的"-->“运算符是什么?
EN

Stack Overflow用户
提问于 2009-10-29 14:57:46
回答 21查看 883.6K关注 0票数 9.6K

在阅读了comp.lang.c++.moderated上的Hidden Features and Dark Corners of C++/STL后,我完全惊讶地发现以下代码片段在Visual Studio2008和G++ 4.4中都可以编译和工作。

代码如下:

代码语言:javascript
复制
#include <stdio.h>
int main()
{
    int x = 10;
    while (x --> 0) // x goes to 0
    {
        printf("%d ", x);
    }
}

输出:

代码语言:javascript
复制
9 8 7 6 5 4 3 2 1 0

我假设这是C,因为它在GCC中也可以工作。这是在标准中定义的,它来自哪里?

EN

回答 21

Stack Overflow用户

发布于 2012-01-18 19:18:08

或者为了一些完全不同的东西。x幻灯片到0

代码语言:javascript
复制
while (x --\
            \
             \
              \
               > 0)
     printf("%d ", x);

不是很数学,但是..。每一幅画都描绘了千言万语。

票数 3.6K
EN

Stack Overflow用户

发布于 2009-10-29 16:38:09

这是一个非常复杂的运算符,因此即使是ISO/IEC JTC1 (Joint Technical Committee 1)也将其描述放在C++标准的两个不同部分中。

开玩笑的是,它们是两个不同的运算符:-->,分别在C++03标准的§5.2.6/2和§5.9中描述。

票数 2.5K
EN

Stack Overflow用户

发布于 2014-12-28 08:32:04

x可以在相反的方向上更快地归零:

代码语言:javascript
复制
int x = 10;

while( 0 <---- x )
{
   printf("%d ", x);
}

8 6 4 2

你可以用箭头控制速度!

代码语言:javascript
复制
int x = 100;

while( 0 <-------------------- x )
{
   printf("%d ", x);
}

90 80 70 60 50 40 30 20 10

;)

票数 1.5K
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1642028

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档