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
반응형
'프로그래밍 언어 > C++' 카테고리의 다른 글
dash를 제외한 문자열에서 영숫자가 아닌 모든 문자를 제거하는 방법 (0) | 2021.06.17 |
---|---|
C ++에서 클래스와 구조체 사용시기 (0) | 2021.06.15 |
전체 ASCII 파일을 C ++ std :: string [duplicate]로 읽기 (0) | 2021.06.14 |
문자열에 C ++의 문자열이 포함되어 있는지 확인 (0) | 2021.06.14 |
.CPP 파일에 C ++ 템플릿 함수 정의 저장 (0) | 2021.06.12 |