programing

C와 C++는 왜 (int) + 4*5 식을 사용할 수 있습니까?

copysource 2022. 8. 9. 23:38
반응형

C와 C++는 왜 (int) + 4*5 식을 사용할 수 있습니까?

(int) + 4*5;

(값이 있는 유형을 추가하는) 것이 가능한 이유는 무엇입니까?(g++ 및 gcc와 함께 사용할 수 있습니다).

말이 안 되는 것은 알지만(그리고 효과가 없는 것은 알지만) 이것이 가능한 이유를 알고 싶습니다.

+ 값은 이진 덧셈 연산자가 아닌 단항 연산자입니다.여기서 추가는 일어나지 않습니다.

또, 구문은(int)는 타이프 캐스팅에 사용됩니다.

이 스테이트먼트를 다음과 같이 다시 읽을 수 있습니다.

(int) (+ 4) * 5;    

라고 해석됩니다.

((int) (+ 4)) * (5);    

그 말은,

  1. 단항 적용+정수 상수값 연산자4.
  2. 에 타이프캐스트하다.int
  3. 피연산자와 곱하다5

이것은 와 유사합니다.(int) (- 4) * (5);단항 연산자의 용법이 더 친숙합니다.

당신의 경우, 단항은+그리고 출연진은int- 둘 다 중복됩니다.

이는 다음과 같이 해석됩니다.((int)(+4)) * 5즉, 표현입니다.+4(리터럴에 적용되는 단항 더하기 연산자)4), 타입에 주조intC스타일의 캐스팅으로 그 결과를 곱하면5.

언급URL : https://stackoverflow.com/questions/55783615/why-do-c-and-c-allow-the-expression-int-45

반응형