프로그래밍 언어/C++

C / C ++에서 "->"연산자가 의미하는 것

Rateye 2021. 6. 15. 10:36
728x90
반응형
질문 : C / C ++에서 "->"연산자는 무엇입니까?

comp.lang.c++.moderated 에서 Hidden Features and Dark Corners of C ++ / STL 을 읽은 후 다음 코드 조각이 Visual Studio 2008과 G ++ 4.4에서 컴파일되고 작동한다는 사실에 완전히 놀랐습니다.

코드는 다음과 같습니다.

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

산출:

9 8 7 6 5 4 3 2 1 0

GCC에서도 작동하기 때문에 이것이 C라고 가정합니다. 이것이 표준에서 정의 된 위치와 출처는 어디입니까?

답변

--> 은 연산자가 아닙니다. 실제로 두 개의 개별 연산자 --> 입니다.

조건부 코드는 x x 의 원래 (감소되지 않은) 값을 반환 > 연산자를 사용하여 0

더 잘 이해하기 위해 다음과 같이 진술을 작성할 수 있습니다.

while( (x--) > 0 )
출처 : https://stackoverflow.com/questions/1642028/what-is-the-operator-in-c-c
728x90
반응형